{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "cubic-guest",
   "metadata": {},
   "source": [
    "# Probabilistic Forecasting with `sktime`"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "34317b3c",
   "metadata": {},
   "source": [
    "originally presented at [pydata Berlin 2022, see there for video presentation](https://github.com/sktime/sktime-tutorial-pydata-berlin-2022)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2bf7ad11",
   "metadata": {},
   "source": [
    "### Overview of this notebook\n",
    "\n",
    "* quick start - probabilistic forecasting\n",
    "* disambiguation - types of probabilistic forecasts\n",
    "* details: probabilistic forecasting interfaces\n",
    "* metrics for, and evaluation of probabilistic forecasts\n",
    "* advanced composition: pipelines, tuning, reduction\n",
    "* extender guide\n",
    "* contributor credits"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "52c8ada0",
   "metadata": {},
   "outputs": [],
   "source": [
    "import warnings\n",
    "\n",
    "warnings.filterwarnings(\"ignore\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6586a019",
   "metadata": {},
   "source": [
    "---\n",
    "### Quick Start - Probabilistic Forecasting with `sktime`\n",
    "\n",
    "... works exactly like the basic forecasting workflow, replace `predict` by a probabilistic method!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "painted-sullivan",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">Number of airline passengers</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">0.9</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>lower</th>\n",
       "      <th>upper</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1961-01</th>\n",
       "      <td>371.535093</td>\n",
       "      <td>481.554608</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-02</th>\n",
       "      <td>344.853205</td>\n",
       "      <td>497.712761</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-03</th>\n",
       "      <td>324.223995</td>\n",
       "      <td>508.191104</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        Number of airline passengers            \n",
       "                                 0.9            \n",
       "                               lower       upper\n",
       "1961-01                   371.535093  481.554608\n",
       "1961-02                   344.853205  497.712761\n",
       "1961-03                   324.223995  508.191104"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sktime.datasets import load_airline\n",
    "from sktime.forecasting.arima import ARIMA\n",
    "\n",
    "# step 1: data specification\n",
    "y = load_airline()\n",
    "# step 2: specifying forecasting horizon\n",
    "fh = [1, 2, 3]\n",
    "# step 3: specifying the forecasting algorithm\n",
    "forecaster = ARIMA()\n",
    "# step 4: fitting the forecaster\n",
    "forecaster.fit(y, fh=[1, 2, 3])\n",
    "# step 5: querying predictions\n",
    "y_pred = forecaster.predict()\n",
    "\n",
    "# for probabilistic forecasting:\n",
    "#   call a probabilistic forecasting method after or instead of step 5\n",
    "y_pred_int = forecaster.predict_interval(coverage=0.9)\n",
    "y_pred_int"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a864b9c1",
   "metadata": {},
   "source": [
    "**probabilistic forecasting methods in `sktime`**:\n",
    "\n",
    "* forecast intervals    - `predict_interval(fh=None, X=None, coverage=0.90)`\n",
    "* forecast quantiles    - `predict_quantiles(fh=None, X=None, alpha=[0.05, 0.95])`\n",
    "* forecast variance     - `predict_var(fh=None, X=None, cov=False)`\n",
    "* distribution forecast - `predict_proba(fh=None, X=None, marginal=True)`"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b57a3be0",
   "metadata": {},
   "source": [
    "To check which forecasters in `sktime` support probabilistic forecasting, use the `registry.all_estimators` utility and search for estimators which have the `capability:pred_int` tag (value `True`).\n",
    "\n",
    "For composites such as pipelines, a positive tag means that logic is implemented if (some or all) components support it."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "a7490769",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>name</th>\n",
       "      <th>object</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>ARCH</td>\n",
       "      <td>&lt;class 'sktime.forecasting.arch._uarch.ARCH'&gt;</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>ARIMA</td>\n",
       "      <td>&lt;class 'sktime.forecasting.arima.ARIMA'&gt;</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>AutoARIMA</td>\n",
       "      <td>&lt;class 'sktime.forecasting.arima.AutoARIMA'&gt;</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>AutoETS</td>\n",
       "      <td>&lt;class 'sktime.forecasting.ets.AutoETS'&gt;</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>BATS</td>\n",
       "      <td>&lt;class 'sktime.forecasting.bats.BATS'&gt;</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>BaggingForecaster</td>\n",
       "      <td>&lt;class 'sktime.forecasting.compose._bagging.Ba...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>ColumnEnsembleForecaster</td>\n",
       "      <td>&lt;class 'sktime.forecasting.compose._column_ens...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>ConformalIntervals</td>\n",
       "      <td>&lt;class 'sktime.forecasting.conformal.Conformal...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>DynamicFactor</td>\n",
       "      <td>&lt;class 'sktime.forecasting.dynamic_factor.Dyna...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>FhPlexForecaster</td>\n",
       "      <td>&lt;class 'sktime.forecasting.compose._fhplex.FhP...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>ForecastX</td>\n",
       "      <td>&lt;class 'sktime.forecasting.compose._pipeline.F...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>ForecastingGridSearchCV</td>\n",
       "      <td>&lt;class 'sktime.forecasting.model_selection._tu...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>ForecastingPipeline</td>\n",
       "      <td>&lt;class 'sktime.forecasting.compose._pipeline.F...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>ForecastingRandomizedSearchCV</td>\n",
       "      <td>&lt;class 'sktime.forecasting.model_selection._tu...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>ForecastingSkoptSearchCV</td>\n",
       "      <td>&lt;class 'sktime.forecasting.model_selection._tu...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>NaiveForecaster</td>\n",
       "      <td>&lt;class 'sktime.forecasting.naive.NaiveForecast...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>NaiveVariance</td>\n",
       "      <td>&lt;class 'sktime.forecasting.naive.NaiveVariance'&gt;</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>Permute</td>\n",
       "      <td>&lt;class 'sktime.forecasting.compose._pipeline.P...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>Prophet</td>\n",
       "      <td>&lt;class 'sktime.forecasting.fbprophet.Prophet'&gt;</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>SARIMAX</td>\n",
       "      <td>&lt;class 'sktime.forecasting.sarimax.SARIMAX'&gt;</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>SquaringResiduals</td>\n",
       "      <td>&lt;class 'sktime.forecasting.squaring_residuals....</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>StatsForecastARCH</td>\n",
       "      <td>&lt;class 'sktime.forecasting.arch._statsforecast...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>StatsForecastAutoARIMA</td>\n",
       "      <td>&lt;class 'sktime.forecasting.statsforecast.Stats...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>StatsForecastAutoCES</td>\n",
       "      <td>&lt;class 'sktime.forecasting.statsforecast.Stats...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>StatsForecastAutoETS</td>\n",
       "      <td>&lt;class 'sktime.forecasting.statsforecast.Stats...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>StatsForecastAutoTheta</td>\n",
       "      <td>&lt;class 'sktime.forecasting.statsforecast.Stats...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>StatsForecastGARCH</td>\n",
       "      <td>&lt;class 'sktime.forecasting.arch._statsforecast...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>StatsForecastMSTL</td>\n",
       "      <td>&lt;class 'sktime.forecasting.statsforecast.Stats...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>TBATS</td>\n",
       "      <td>&lt;class 'sktime.forecasting.tbats.TBATS'&gt;</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>ThetaForecaster</td>\n",
       "      <td>&lt;class 'sktime.forecasting.theta.ThetaForecast...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>TransformedTargetForecaster</td>\n",
       "      <td>&lt;class 'sktime.forecasting.compose._pipeline.T...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>UnobservedComponents</td>\n",
       "      <td>&lt;class 'sktime.forecasting.structural.Unobserv...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>VAR</td>\n",
       "      <td>&lt;class 'sktime.forecasting.var.VAR'&gt;</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>VECM</td>\n",
       "      <td>&lt;class 'sktime.forecasting.vecm.VECM'&gt;</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>YfromX</td>\n",
       "      <td>&lt;class 'sktime.forecasting.compose._reduce.Yfr...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                             name  \\\n",
       "0                            ARCH   \n",
       "1                           ARIMA   \n",
       "2                       AutoARIMA   \n",
       "3                         AutoETS   \n",
       "4                            BATS   \n",
       "5               BaggingForecaster   \n",
       "6        ColumnEnsembleForecaster   \n",
       "7              ConformalIntervals   \n",
       "8                   DynamicFactor   \n",
       "9                FhPlexForecaster   \n",
       "10                      ForecastX   \n",
       "11        ForecastingGridSearchCV   \n",
       "12            ForecastingPipeline   \n",
       "13  ForecastingRandomizedSearchCV   \n",
       "14       ForecastingSkoptSearchCV   \n",
       "15                NaiveForecaster   \n",
       "16                  NaiveVariance   \n",
       "17                        Permute   \n",
       "18                        Prophet   \n",
       "19                        SARIMAX   \n",
       "20              SquaringResiduals   \n",
       "21              StatsForecastARCH   \n",
       "22         StatsForecastAutoARIMA   \n",
       "23           StatsForecastAutoCES   \n",
       "24           StatsForecastAutoETS   \n",
       "25         StatsForecastAutoTheta   \n",
       "26             StatsForecastGARCH   \n",
       "27              StatsForecastMSTL   \n",
       "28                          TBATS   \n",
       "29                ThetaForecaster   \n",
       "30    TransformedTargetForecaster   \n",
       "31           UnobservedComponents   \n",
       "32                            VAR   \n",
       "33                           VECM   \n",
       "34                         YfromX   \n",
       "\n",
       "                                               object  \n",
       "0       <class 'sktime.forecasting.arch._uarch.ARCH'>  \n",
       "1            <class 'sktime.forecasting.arima.ARIMA'>  \n",
       "2        <class 'sktime.forecasting.arima.AutoARIMA'>  \n",
       "3            <class 'sktime.forecasting.ets.AutoETS'>  \n",
       "4              <class 'sktime.forecasting.bats.BATS'>  \n",
       "5   <class 'sktime.forecasting.compose._bagging.Ba...  \n",
       "6   <class 'sktime.forecasting.compose._column_ens...  \n",
       "7   <class 'sktime.forecasting.conformal.Conformal...  \n",
       "8   <class 'sktime.forecasting.dynamic_factor.Dyna...  \n",
       "9   <class 'sktime.forecasting.compose._fhplex.FhP...  \n",
       "10  <class 'sktime.forecasting.compose._pipeline.F...  \n",
       "11  <class 'sktime.forecasting.model_selection._tu...  \n",
       "12  <class 'sktime.forecasting.compose._pipeline.F...  \n",
       "13  <class 'sktime.forecasting.model_selection._tu...  \n",
       "14  <class 'sktime.forecasting.model_selection._tu...  \n",
       "15  <class 'sktime.forecasting.naive.NaiveForecast...  \n",
       "16   <class 'sktime.forecasting.naive.NaiveVariance'>  \n",
       "17  <class 'sktime.forecasting.compose._pipeline.P...  \n",
       "18     <class 'sktime.forecasting.fbprophet.Prophet'>  \n",
       "19       <class 'sktime.forecasting.sarimax.SARIMAX'>  \n",
       "20  <class 'sktime.forecasting.squaring_residuals....  \n",
       "21  <class 'sktime.forecasting.arch._statsforecast...  \n",
       "22  <class 'sktime.forecasting.statsforecast.Stats...  \n",
       "23  <class 'sktime.forecasting.statsforecast.Stats...  \n",
       "24  <class 'sktime.forecasting.statsforecast.Stats...  \n",
       "25  <class 'sktime.forecasting.statsforecast.Stats...  \n",
       "26  <class 'sktime.forecasting.arch._statsforecast...  \n",
       "27  <class 'sktime.forecasting.statsforecast.Stats...  \n",
       "28           <class 'sktime.forecasting.tbats.TBATS'>  \n",
       "29  <class 'sktime.forecasting.theta.ThetaForecast...  \n",
       "30  <class 'sktime.forecasting.compose._pipeline.T...  \n",
       "31  <class 'sktime.forecasting.structural.Unobserv...  \n",
       "32               <class 'sktime.forecasting.var.VAR'>  \n",
       "33             <class 'sktime.forecasting.vecm.VECM'>  \n",
       "34  <class 'sktime.forecasting.compose._reduce.Yfr...  "
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sktime.registry import all_estimators\n",
    "\n",
    "all_estimators(\n",
    "    \"forecaster\", filter_tags={\"capability:pred_int\": True}, as_dataframe=True\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "impressive-deviation",
   "metadata": {},
   "source": [
    "---\n",
    "### What is probabilistic forecasting?\n",
    "\n",
    "#### Intuition\n",
    "\n",
    "* produce low/high scenarios of forecasts\n",
    "* quantify uncertainty around forecasts\n",
    "* produce expected range of variation of forecasts"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "435f59bf",
   "metadata": {},
   "source": [
    "#### Interface view\n",
    "\n",
    "**Want** to produce \"distribution\" or \"range\" of forecast values,\n",
    "\n",
    "at time stamps defined by **forecasting horizon** `fh`\n",
    "\n",
    "given **past data** `y` (series), and possibly exogeneous data `X`\n",
    "\n",
    "Input, to `fit` or `predict`: `fh`, `y`, `X`\n",
    "\n",
    "Output, from `predict_probabilistic`: some \"distribution\" or \"range\" object"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5daec146",
   "metadata": {},
   "source": [
    "**Big caveat**: there are multiple possible ways to model \"distribution\" or \"range\"!\n",
    "\n",
    "Used in practice and easily confused! (and often, practically, confused!)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a1c0f1dc",
   "metadata": {},
   "source": [
    "#### Formal view (endogeneous, one forecast time stamp)\n",
    "\n",
    "Let  $y(t_1), \\dots, y(t_n)$ be observations at fixed time stamps $t_1, \\dots, t_n$. \n",
    "\n",
    "(we consider $y$ as an $\\mathbb{R}^n$-valued random variable)\n",
    "\n",
    "Let $y'$ be a (true) value, which will be observed at a future time stamp $\\tau$.\n",
    "\n",
    "(we consider $y'$ as an $\\mathbb{R}$-valued random variable)\n",
    "\n",
    "We have the following \"types of forecasts\" of $y'$:\n",
    "\n",
    "| Name | param | prediction/estimate of | `sktime` |\n",
    "| ---- | ----- | ---------------------- | -------- |\n",
    "| point forecast | | conditional expectation $\\mathbb{E}[y'\\|y]$ | `predict` |\n",
    "| variance forecast | | conditional variance $Var[y'\\|y]$ | `predict_var` |\n",
    "| quantile forecast | $\\alpha\\in (0,1)$ | $\\alpha$-quantile of $y'\\|y$ | `predict_quantiles` |\n",
    "| interval forecast | $c\\in (0,1)$| $[a,b]$ s.t. $P(a\\le y' \\le b\\| y) = c$ | `predict_interval` |\n",
    "| distribution forecast | | the law/distribution of $y'\\|y$ | `predict_proba` |\n",
    "\n",
    "Notes:\n",
    "\n",
    "* different forecasters have different capabilities!\n",
    "* metrics, evaluation & tuning are different by \"type of forecast\"\n",
    "* compositors can \"add\" type of forecast! Example: bootstrap\n",
    "\n",
    "##### More formal details & intuition:\n",
    "\n",
    "* a **\"point forecast\"** is a prediction/estimate of the conditional expectation $\\mathbb{E}[y'|y]$.\\\n",
    " **Intuition**: \"out of many repetitions/worlds, this value is the arithmetic average of all observations\".\n",
    "* a **\"variance forecast\"** is a prediction/estimate of the conditional expectation $Var[y'|y]$.\\\n",
    " **Intuition:** \"out of many repetitions/worlds, this value is the average squared distance of the observation to the perfect point forecast\".\n",
    "* a **\"quantile forecast\"**, at quantile point $\\alpha\\in (0,1)$ is a prediction/estimate of the $\\alpha$-quantile of $y'|y$, i.e., of $F^{-1}_{y'|y}(\\alpha)$, where $F^{-1}$ is the (generalized) inverse cdf = quantile function of the random variable y'|y.\\\n",
    " **Intuition**: \"out of many repetitions/worlds, a fraction of exactly $\\alpha$ will have equal or smaller than this value.\"\n",
    "* an **\"interval forecast\"** or \"predictive interval\" with (symmetric) coverage $c\\in (0,1)$ is a prediction/estimate pair of lower bound $a$ and upper bound $b$ such that $P(a\\le y' \\le b| y) = c$ and $P(y' \\gneq b| y) = P(y' \\lneq a| y) = (1 - c) /2$.\\\n",
    " **Intuition**: \"out of many repetitions/worlds, a fraction of exactly $c$ will be contained in the interval $[a,b]$, and being above is equally likely as being below\".\n",
    "* a **\"distribution forecast\"** or \"full probabilistic forecast\" is a prediction/estimate of the distribution of $y'|y$, e.g., \"it's a normal distribution with mean 42 and variance 1\".\\\n",
    "**Intuition**: exhaustive description of the generating mechanism of many repetitions/worlds."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "425bccbe",
   "metadata": {},
   "source": [
    "Notes:\n",
    "\n",
    "* lower/upper of interval forecasts are quantile forecasts at quantile points $0.5 - c/2$ and $0.5 + c/2$ (as long as forecast distributions are absolutely continuous).\n",
    "* all other forecasts can be obtained from a full probabilistic forecasts; a full probabilistic forecast can be obtained from all quantile forecasts or all interval forecasts.\n",
    "* there is no exact relation between the other types of forecasts (point or variance vs quantile)\n",
    "* in particular, point forecast does not need to be median forecast aka 0.5-quantile forecast. Can be $\\alpha$-quantile for any $\\alpha$!"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7f5b10b6",
   "metadata": {},
   "source": [
    "Frequent confusion in literature & python packages:\n",
    "* coverage `c` vs quantile `\\alpha`\n",
    "* coverage `c` vs significance `p = 1-c`\n",
    "* quantile of lower interval bound, `p/2`, vs `p`\n",
    "* interval forecasts vs related, but substantially different concepts: confidence interval on predictive mean; Bayesian posterior or credibility interval of the predictive mean\n",
    "* all forecasts above can be Bayesian, confusion: \"posteriors are different\" or \"have to be evaluated differently\""
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4d944c96",
   "metadata": {},
   "source": [
    "---\n",
    "### Probabilistic forecasting interfaces in `sktime` \n",
    "\n",
    "This section:\n",
    "\n",
    "* walkthrough of probabilistic predict methods\n",
    "* use in update/predict workflow\n",
    "* multivariate and hierarchical data\n",
    "\n",
    "All forecasters with tag `capability:pred_int` provide the following:\n",
    "\n",
    "* forecast intervals    - `predict_interval(fh=None, X=None, coverage=0.90)`\n",
    "* forecast quantiles    - `predict_quantiles(fh=None, X=None, alpha=[0.05, 0.95])`\n",
    "* forecast variance     - `predict_var(fh=None, X=None, cov=False)`\n",
    "* distribution forecast - `predict_proba(fh=None, X=None, marginal=True)`\n",
    "\n",
    "Generalities:\n",
    "\n",
    "* methods do not change state, multiple can be called\n",
    "* `fh` is optional, if passed late\n",
    "* exogeneous data `X` can be passed"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "85f32fff",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style>#sk-9b5446bb-0900-46a6-988d-1aa88ae0e4ff {color: black;background-color: white;}#sk-9b5446bb-0900-46a6-988d-1aa88ae0e4ff pre{padding: 0;}#sk-9b5446bb-0900-46a6-988d-1aa88ae0e4ff div.sk-toggleable {background-color: white;}#sk-9b5446bb-0900-46a6-988d-1aa88ae0e4ff label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-9b5446bb-0900-46a6-988d-1aa88ae0e4ff label.sk-toggleable__label-arrow:before {content: \"▸\";float: left;margin-right: 0.25em;color: #696969;}#sk-9b5446bb-0900-46a6-988d-1aa88ae0e4ff label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-9b5446bb-0900-46a6-988d-1aa88ae0e4ff div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-9b5446bb-0900-46a6-988d-1aa88ae0e4ff div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-9b5446bb-0900-46a6-988d-1aa88ae0e4ff div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-9b5446bb-0900-46a6-988d-1aa88ae0e4ff input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-9b5446bb-0900-46a6-988d-1aa88ae0e4ff input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: \"▾\";}#sk-9b5446bb-0900-46a6-988d-1aa88ae0e4ff div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-9b5446bb-0900-46a6-988d-1aa88ae0e4ff div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-9b5446bb-0900-46a6-988d-1aa88ae0e4ff input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-9b5446bb-0900-46a6-988d-1aa88ae0e4ff div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-9b5446bb-0900-46a6-988d-1aa88ae0e4ff div.sk-estimator:hover {background-color: #d4ebff;}#sk-9b5446bb-0900-46a6-988d-1aa88ae0e4ff div.sk-parallel-item::after {content: \"\";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-9b5446bb-0900-46a6-988d-1aa88ae0e4ff div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-9b5446bb-0900-46a6-988d-1aa88ae0e4ff div.sk-serial::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 2em;bottom: 0;left: 50%;}#sk-9b5446bb-0900-46a6-988d-1aa88ae0e4ff div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;}#sk-9b5446bb-0900-46a6-988d-1aa88ae0e4ff div.sk-item {z-index: 1;}#sk-9b5446bb-0900-46a6-988d-1aa88ae0e4ff div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;}#sk-9b5446bb-0900-46a6-988d-1aa88ae0e4ff div.sk-parallel::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 2em;bottom: 0;left: 50%;}#sk-9b5446bb-0900-46a6-988d-1aa88ae0e4ff div.sk-parallel-item {display: flex;flex-direction: column;position: relative;background-color: white;}#sk-9b5446bb-0900-46a6-988d-1aa88ae0e4ff div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-9b5446bb-0900-46a6-988d-1aa88ae0e4ff div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-9b5446bb-0900-46a6-988d-1aa88ae0e4ff div.sk-parallel-item:only-child::after {width: 0;}#sk-9b5446bb-0900-46a6-988d-1aa88ae0e4ff div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;position: relative;}#sk-9b5446bb-0900-46a6-988d-1aa88ae0e4ff div.sk-label label {font-family: monospace;font-weight: bold;background-color: white;display: inline-block;line-height: 1.2em;}#sk-9b5446bb-0900-46a6-988d-1aa88ae0e4ff div.sk-label-container {position: relative;z-index: 2;text-align: center;}#sk-9b5446bb-0900-46a6-988d-1aa88ae0e4ff div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-9b5446bb-0900-46a6-988d-1aa88ae0e4ff div.sk-text-repr-fallback {display: none;}</style><div id='sk-9b5446bb-0900-46a6-988d-1aa88ae0e4ff' class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>ThetaForecaster(sp=12)</pre><b>Please rerun this cell to show the HTML repr or trust the notebook.</b></div><div class=\"sk-container\" hidden><div class='sk-item'><div class=\"sk-estimator sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=UUID('119f3171-5281-4480-893d-ca664488469f') type=\"checkbox\" checked><label for=UUID('119f3171-5281-4480-893d-ca664488469f') class='sk-toggleable__label sk-toggleable__label-arrow'>ThetaForecaster</label><div class=\"sk-toggleable__content\"><pre>ThetaForecaster(sp=12)</pre></div></div></div></div></div>"
      ],
      "text/plain": [
       "ThetaForecaster(sp=12)"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import numpy as np\n",
    "\n",
    "from sktime.datasets import load_airline\n",
    "from sktime.forecasting.theta import ThetaForecaster\n",
    "\n",
    "# until fit, identical with the simple workflow\n",
    "y = load_airline()\n",
    "\n",
    "fh = np.arange(1, 13)\n",
    "\n",
    "forecaster = ThetaForecaster(sp=12)\n",
    "forecaster.fit(y, fh=fh)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "52ff10e6",
   "metadata": {},
   "source": [
    "##### `predict_interval` - interval predictions"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4995fbc2",
   "metadata": {},
   "source": [
    "Inputs:\\\n",
    "`fh` - forecasting horizon (not necessary if seen in `fit`)\\\n",
    "`coverage`, float or list of floats, default=`0.9`\\\n",
    "nominal coverage(s) of the prediction interval(s) queried\n",
    "\n",
    "Output: `pandas.DataFrame`\\\n",
    "Row index is `fh`\\\n",
    "Column has multi-index:\\\n",
    "1st level = variable name from y in fit\\\n",
    "2nd level = coverage fractions in `coverage`\\\n",
    "3rd level = string \"lower\" or \"upper\"\\\n",
    "\n",
    "Entries = forecasts of lower/upper interval at nominal coverage in 2nd lvl, for var in 1st lvl, for time in row"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "f81bcc0c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">Number of airline passengers</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">0.9</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>lower</th>\n",
       "      <th>upper</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1961-01</th>\n",
       "      <td>418.280121</td>\n",
       "      <td>464.281951</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-02</th>\n",
       "      <td>402.215881</td>\n",
       "      <td>456.888055</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-03</th>\n",
       "      <td>459.966113</td>\n",
       "      <td>522.110500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-04</th>\n",
       "      <td>442.589309</td>\n",
       "      <td>511.399214</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-05</th>\n",
       "      <td>443.525027</td>\n",
       "      <td>518.409480</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-06</th>\n",
       "      <td>506.585814</td>\n",
       "      <td>587.087737</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-07</th>\n",
       "      <td>561.496768</td>\n",
       "      <td>647.248956</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-08</th>\n",
       "      <td>557.363322</td>\n",
       "      <td>648.062363</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-09</th>\n",
       "      <td>477.658055</td>\n",
       "      <td>573.047752</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-10</th>\n",
       "      <td>407.915090</td>\n",
       "      <td>507.775355</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-11</th>\n",
       "      <td>346.942924</td>\n",
       "      <td>451.082017</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-12</th>\n",
       "      <td>394.708221</td>\n",
       "      <td>502.957142</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        Number of airline passengers            \n",
       "                                 0.9            \n",
       "                               lower       upper\n",
       "1961-01                   418.280121  464.281951\n",
       "1961-02                   402.215881  456.888055\n",
       "1961-03                   459.966113  522.110500\n",
       "1961-04                   442.589309  511.399214\n",
       "1961-05                   443.525027  518.409480\n",
       "1961-06                   506.585814  587.087737\n",
       "1961-07                   561.496768  647.248956\n",
       "1961-08                   557.363322  648.062363\n",
       "1961-09                   477.658055  573.047752\n",
       "1961-10                   407.915090  507.775355\n",
       "1961-11                   346.942924  451.082017\n",
       "1961-12                   394.708221  502.957142"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "coverage = 0.9\n",
    "y_pred_ints = forecaster.predict_interval(coverage=coverage)\n",
    "y_pred_ints"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3f9f840e",
   "metadata": {},
   "source": [
    "pretty-plotting the predictive interval forecasts:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "efa4f7a6",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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JDLKjBQEAR06dMCLL76Iv//97wCAsrIyhIaGYuPGjXjkkUdw5swZ9OjRA0eOHMHAgQMBANu2bcP999+P/Px8dOjQweRzKZVKKJVKw/+Xl5cjPDy8xWVGkmVNzYwkIiIiIiIiIqI6zSIz0pLc3FwUFhYiMTHR8FhAQAAGDRqE9PR0AEB6ejoCAwMNgUgASExMhFgsxqFDh8yee/ny5QgICDD8hIeHO+5CyG3p19U0Rb+uJhERERERERER2Y/bBiMLCwsBAKGhoUaPh4aGGrYVFhYiJCTEaLtEIkHbtm0N+5gyb948lJWVGX4uXbpk59FTc6BvsrJwZCwCvaQA6jIiF46Mxdzh0SwpJiIiIiIiIiKys1YZbZHL5ZDL5a4eBrkB/bqar4yIMWqywnU1iYiIiIiIiIjsz20zIxUKBQCgqKjI6PGioiLDNoVCgeLiYqPtGo0G169fN+xD1BA2WSEiIiIiIiIicg63DUZGRkZCoVBg165dhsfKy8tx6NAhxMXFAQDi4uJQWlqKo0ePGvbZvXs3dDodBg0a5PQxExERERERERERkXkuTQGrrKxEVlaW4f9zc3Nx7NgxtG3bFp06dcLzzz+PZcuWISYmBpGRkViwYAE6dOhg6LjdvXt3jB49Gk899RTee+89qNVqJCcn45FHHjHbSZuIiIiIiIiIiIhcw6XByF9//RXDhg0z/P8LL7wAAJgyZQo2btyIl156CVVVVZg+fTpKS0uRkJCAbdu2wdPT03DMZ599huTkZIwYMQJisRgTJkzAmjVrnH4tREREREREREREZJlIEATB1YNwtfLycgQEBKCsrAz+/v6uHg4REREREREREVGz0tj4mtuuGUlEREREREREREQtC4ORRERERERERERE5BQMRhIREREREREREZFTuLSBjbvQL5tZXl7u4pEQERERERERERE1P/q4WkPtaRiMBFBRUQEACA8Pd/FIiIiIiIiIiIiImq+KigoEBASY3c5u2gB0Oh2uXLkCPz8/iEQiVw/H7srLyxEeHo5Lly6xWzjZhHOI7IHziJqKc4jsgfOImopziOyB84iainOI7MHe80gQBFRUVKBDhw4Qi82vDMnMSABisRhhYWGuHobD+fv780WKmoRziOyB84iainOI7IHziJqKc4jsgfOImopziOzBnvPIUkakHhvYEBERERERERERkVMwGElE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RVxcnIOvlhzB3BwyRT+P9G+CcXFxOHnypNGbXWpqKvz9/dGjRw9IJBKjOaT/0G3NHLJmfOQ6TZlHAHD69GkMGzYMU6ZMwT/+8Q+j/e0xj/Ty8/NRUlJi9NzkHpoyh/773//i+PHjhve7Dz74AADw888/Y8aMGXadQ+TemvpaZGqfNm3aQC6X8z2tlbDHHKqsrMRXX31llBUJ8P2stbDHHOL3MzI3jyIiItChQwecO3fOaP/z58+jc+fOAOrmQ2lpqdE6o7t374ZOpzMEwJs6j3x8fNC+fXvcuHED27dv5/sZ2ZeLG+i0ahUVFUJGRoaQkZEhABDefPNNISMjQ7hw4YIgCILw1VdfCWlpaUJ2drbw7bffCp07dxbGjx9v8Zww0TVt1apVwokTJ4RTp04JS5YsEaRSaYOd1XJycgRvb29hzpw5wpkzZ4T169cLHh4ewrZt2xo9fnK8ps6hrKwsYcmSJcKvv/4q5ObmCv/73/+ELl26CEOGDDHso9FohF69eglJSUnCsWPHhG3btgnBwcHCvHnzLI7twIEDgkQiEV5//XXhzJkzQkpKiiCVSoWTJ08a9rFljpP9OWMenTx5UggODhYee+wxoaCgwPBTXFxscWwNzaOKigrh73//u5Ceni7k5uYKO3fuFPr37y/ExMQItbW1DrhbZIoz5tCt0tLSGtVNuzGvRSUlJUJGRobwww8/CACETZs2CRkZGUJBQUHTbgxZxRnz6LvvvhP+/e9/CydPnhQyMzOFd955R/D29hYWLlxocWx8T2senPla9MEHHwienp4Nvgbp8f2seXDWHOL3s5bNHt/z33rrLcHf31/YvHmzkJmZKcyfP1/w9PQUsrKyDPuMHj1a6Nevn3Do0CFh//79QkxMjDBp0iSLY2vMPNq2bZvw008/CTk5OcKOHTuEPn36CIMGDRJUKpUd7xK1dgxGupD+i9StP1OmTBEEQRDefvttISwsTJBKpUKnTp2E+fPnC0ql0uI5TQUjhw0bJgQEBAienp7CoEGDhB9//LHR4+vbt68gk8mELl26CBs2bLBq/OR4TZ1DFy9eFIYMGSK0bdtWkMvlQnR0tDBnzhyhrKzM6Hny8vKE++67T/Dy8hKCgoKEF198UVCr1Q2O76uvvhJiY2MFmUwm9OzZU/jhhx+Mttsyx8n+nDGPUlJSTD5H586dGxyfpXlUXV0tJCUlCcHBwYJUKhU6d+4sPPXUU0JhYaHd7g81zFmvRaaeszGBgIZeizZs2GBy/CkpKbbcDrKRM+bRTz/9JPTt21fw9fUVfHx8hD59+gjvvfeeoNVqGxwf39PcnzNfi+Li4oRHH33UqvHx/cz9OWsO8ftZy2av7/nLly8XwsLCBG9vbyEuLk74+eefjbaXlJQIkyZNEnx9fQV/f39h6tSpQkVFRaPGZ2keffnll0KXLl0EmUwmKBQKYcaMGUJpaanN94PIFJEg3Fx0iYiIiIiIiIiIiMiBuGYkEREREREREREROQWDkUREREREREREROQUDEYSERERERERERGRUzAYSURERERERERERE7BYCQRERERERERERE5BYORRERERERERERE5BQMRhIREREREREREZFTMBhJRERERERERERETsFgJBERERERERERETkFg5FERERERERERETkFAxGEhERERERERERkVP8P4xwsROewyxZAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 1600x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sktime.utils import plotting\n",
    "\n",
    "# also requires predictions\n",
    "y_pred = forecaster.predict()\n",
    "\n",
    "fig, ax = plotting.plot_series(\n",
    "    y, y_pred, labels=[\"y\", \"y_pred\"], pred_interval=y_pred_ints\n",
    ")\n",
    "\n",
    "ax.legend();"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3afcdc20",
   "metadata": {},
   "source": [
    "multiple coverages:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "534f4490",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"6\" halign=\"left\">Number of airline passengers</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">0.50</th>\n",
       "      <th colspan=\"2\" halign=\"left\">0.90</th>\n",
       "      <th colspan=\"2\" halign=\"left\">0.95</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>lower</th>\n",
       "      <th>upper</th>\n",
       "      <th>lower</th>\n",
       "      <th>upper</th>\n",
       "      <th>lower</th>\n",
       "      <th>upper</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1961-01</th>\n",
       "      <td>431.849266</td>\n",
       "      <td>450.712806</td>\n",
       "      <td>418.280121</td>\n",
       "      <td>464.281951</td>\n",
       "      <td>413.873755</td>\n",
       "      <td>468.688317</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-02</th>\n",
       "      <td>418.342514</td>\n",
       "      <td>440.761421</td>\n",
       "      <td>402.215881</td>\n",
       "      <td>456.888055</td>\n",
       "      <td>396.979011</td>\n",
       "      <td>462.124925</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-03</th>\n",
       "      <td>478.296822</td>\n",
       "      <td>503.779790</td>\n",
       "      <td>459.966113</td>\n",
       "      <td>522.110500</td>\n",
       "      <td>454.013504</td>\n",
       "      <td>528.063109</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-04</th>\n",
       "      <td>462.886144</td>\n",
       "      <td>491.102379</td>\n",
       "      <td>442.589309</td>\n",
       "      <td>511.399214</td>\n",
       "      <td>435.998232</td>\n",
       "      <td>517.990291</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-05</th>\n",
       "      <td>465.613670</td>\n",
       "      <td>496.320837</td>\n",
       "      <td>443.525027</td>\n",
       "      <td>518.409480</td>\n",
       "      <td>436.352089</td>\n",
       "      <td>525.582418</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-06</th>\n",
       "      <td>530.331440</td>\n",
       "      <td>563.342111</td>\n",
       "      <td>506.585814</td>\n",
       "      <td>587.087737</td>\n",
       "      <td>498.874797</td>\n",
       "      <td>594.798754</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-07</th>\n",
       "      <td>586.791063</td>\n",
       "      <td>621.954661</td>\n",
       "      <td>561.496768</td>\n",
       "      <td>647.248956</td>\n",
       "      <td>553.282845</td>\n",
       "      <td>655.462879</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-08</th>\n",
       "      <td>584.116789</td>\n",
       "      <td>621.308897</td>\n",
       "      <td>557.363322</td>\n",
       "      <td>648.062363</td>\n",
       "      <td>548.675556</td>\n",
       "      <td>656.750129</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-09</th>\n",
       "      <td>505.795123</td>\n",
       "      <td>544.910684</td>\n",
       "      <td>477.658055</td>\n",
       "      <td>573.047752</td>\n",
       "      <td>468.520987</td>\n",
       "      <td>582.184821</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-10</th>\n",
       "      <td>437.370840</td>\n",
       "      <td>478.319605</td>\n",
       "      <td>407.915090</td>\n",
       "      <td>507.775355</td>\n",
       "      <td>398.349800</td>\n",
       "      <td>517.340645</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-11</th>\n",
       "      <td>377.660798</td>\n",
       "      <td>420.364142</td>\n",
       "      <td>346.942924</td>\n",
       "      <td>451.082017</td>\n",
       "      <td>336.967779</td>\n",
       "      <td>461.057162</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-12</th>\n",
       "      <td>426.638370</td>\n",
       "      <td>471.026993</td>\n",
       "      <td>394.708221</td>\n",
       "      <td>502.957142</td>\n",
       "      <td>384.339408</td>\n",
       "      <td>513.325954</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        Number of airline passengers                                      \\\n",
       "                                0.50                    0.90               \n",
       "                               lower       upper       lower       upper   \n",
       "1961-01                   431.849266  450.712806  418.280121  464.281951   \n",
       "1961-02                   418.342514  440.761421  402.215881  456.888055   \n",
       "1961-03                   478.296822  503.779790  459.966113  522.110500   \n",
       "1961-04                   462.886144  491.102379  442.589309  511.399214   \n",
       "1961-05                   465.613670  496.320837  443.525027  518.409480   \n",
       "1961-06                   530.331440  563.342111  506.585814  587.087737   \n",
       "1961-07                   586.791063  621.954661  561.496768  647.248956   \n",
       "1961-08                   584.116789  621.308897  557.363322  648.062363   \n",
       "1961-09                   505.795123  544.910684  477.658055  573.047752   \n",
       "1961-10                   437.370840  478.319605  407.915090  507.775355   \n",
       "1961-11                   377.660798  420.364142  346.942924  451.082017   \n",
       "1961-12                   426.638370  471.026993  394.708221  502.957142   \n",
       "\n",
       "                                 \n",
       "               0.95              \n",
       "              lower       upper  \n",
       "1961-01  413.873755  468.688317  \n",
       "1961-02  396.979011  462.124925  \n",
       "1961-03  454.013504  528.063109  \n",
       "1961-04  435.998232  517.990291  \n",
       "1961-05  436.352089  525.582418  \n",
       "1961-06  498.874797  594.798754  \n",
       "1961-07  553.282845  655.462879  \n",
       "1961-08  548.675556  656.750129  \n",
       "1961-09  468.520987  582.184821  \n",
       "1961-10  398.349800  517.340645  \n",
       "1961-11  336.967779  461.057162  \n",
       "1961-12  384.339408  513.325954  "
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "coverage = [0.5, 0.9, 0.95]\n",
    "y_pred_ints = forecaster.predict_interval(coverage=coverage)\n",
    "y_pred_ints"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d00f1db2",
   "metadata": {},
   "source": [
    "##### `predict_quantiles` - quantile forecasts"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9468c5f4",
   "metadata": {},
   "source": [
    "Inputs:\\\n",
    "`fh` - forecasting horizon (not necessary if seen in `fit`)\\\n",
    "`alpha`, float or list of floats, default = `[0.1, 0.9]`\\\n",
    "quantile points at which quantiles are queried\n",
    "\n",
    "Output: `pandas.DataFrame`\\\n",
    "Row index is `fh`\\\n",
    "Column has multi-index:\\\n",
    "1st level = variable name from y in fit\\\n",
    "2nd level = quantile points in `alpha`\\\n",
    "\n",
    "Entries = forecasts of quantiles at quantile point in 2nd lvl, for var in 1st lvl, for time in row"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "76770945",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"5\" halign=\"left\">Number of airline passengers</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>0.10</th>\n",
       "      <th>0.25</th>\n",
       "      <th>0.50</th>\n",
       "      <th>0.75</th>\n",
       "      <th>0.90</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1961-01</th>\n",
       "      <td>423.360378</td>\n",
       "      <td>431.849266</td>\n",
       "      <td>441.281036</td>\n",
       "      <td>450.712806</td>\n",
       "      <td>459.201694</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-02</th>\n",
       "      <td>408.253656</td>\n",
       "      <td>418.342514</td>\n",
       "      <td>429.551968</td>\n",
       "      <td>440.761421</td>\n",
       "      <td>450.850279</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-03</th>\n",
       "      <td>466.829089</td>\n",
       "      <td>478.296822</td>\n",
       "      <td>491.038306</td>\n",
       "      <td>503.779790</td>\n",
       "      <td>515.247523</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-04</th>\n",
       "      <td>450.188398</td>\n",
       "      <td>462.886144</td>\n",
       "      <td>476.994261</td>\n",
       "      <td>491.102379</td>\n",
       "      <td>503.800124</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-05</th>\n",
       "      <td>451.794965</td>\n",
       "      <td>465.613670</td>\n",
       "      <td>480.967253</td>\n",
       "      <td>496.320837</td>\n",
       "      <td>510.139542</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-06</th>\n",
       "      <td>515.476123</td>\n",
       "      <td>530.331440</td>\n",
       "      <td>546.836776</td>\n",
       "      <td>563.342111</td>\n",
       "      <td>578.197428</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-07</th>\n",
       "      <td>570.966895</td>\n",
       "      <td>586.791063</td>\n",
       "      <td>604.372862</td>\n",
       "      <td>621.954661</td>\n",
       "      <td>637.778829</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-08</th>\n",
       "      <td>567.379760</td>\n",
       "      <td>584.116789</td>\n",
       "      <td>602.712843</td>\n",
       "      <td>621.308897</td>\n",
       "      <td>638.045925</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-09</th>\n",
       "      <td>488.192511</td>\n",
       "      <td>505.795123</td>\n",
       "      <td>525.352904</td>\n",
       "      <td>544.910684</td>\n",
       "      <td>562.513297</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-10</th>\n",
       "      <td>418.943257</td>\n",
       "      <td>437.370840</td>\n",
       "      <td>457.845222</td>\n",
       "      <td>478.319605</td>\n",
       "      <td>496.747188</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-11</th>\n",
       "      <td>358.443627</td>\n",
       "      <td>377.660798</td>\n",
       "      <td>399.012470</td>\n",
       "      <td>420.364142</td>\n",
       "      <td>439.581313</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-12</th>\n",
       "      <td>406.662797</td>\n",
       "      <td>426.638370</td>\n",
       "      <td>448.832681</td>\n",
       "      <td>471.026993</td>\n",
       "      <td>491.002565</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        Number of airline passengers                                      \\\n",
       "                                0.10        0.25        0.50        0.75   \n",
       "1961-01                   423.360378  431.849266  441.281036  450.712806   \n",
       "1961-02                   408.253656  418.342514  429.551968  440.761421   \n",
       "1961-03                   466.829089  478.296822  491.038306  503.779790   \n",
       "1961-04                   450.188398  462.886144  476.994261  491.102379   \n",
       "1961-05                   451.794965  465.613670  480.967253  496.320837   \n",
       "1961-06                   515.476123  530.331440  546.836776  563.342111   \n",
       "1961-07                   570.966895  586.791063  604.372862  621.954661   \n",
       "1961-08                   567.379760  584.116789  602.712843  621.308897   \n",
       "1961-09                   488.192511  505.795123  525.352904  544.910684   \n",
       "1961-10                   418.943257  437.370840  457.845222  478.319605   \n",
       "1961-11                   358.443627  377.660798  399.012470  420.364142   \n",
       "1961-12                   406.662797  426.638370  448.832681  471.026993   \n",
       "\n",
       "                     \n",
       "               0.90  \n",
       "1961-01  459.201694  \n",
       "1961-02  450.850279  \n",
       "1961-03  515.247523  \n",
       "1961-04  503.800124  \n",
       "1961-05  510.139542  \n",
       "1961-06  578.197428  \n",
       "1961-07  637.778829  \n",
       "1961-08  638.045925  \n",
       "1961-09  562.513297  \n",
       "1961-10  496.747188  \n",
       "1961-11  439.581313  \n",
       "1961-12  491.002565  "
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "alpha = [0.1, 0.25, 0.5, 0.75, 0.9]\n",
    "y_pred_quantiles = forecaster.predict_quantiles(alpha=alpha)\n",
    "y_pred_quantiles"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ef0fb2b9",
   "metadata": {},
   "source": [
    "pretty-plotting the quantile interval forecasts:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "00f9cb39",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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p05p6NChKi0t9cWhwQc8lU/nW7RokcaNG6fg4OBq95+bm6vmzZu7bWvevLlyc3Mr7f/OO+8oPDxct9566yUcJbzBU7kUHh6uzz//XO+++66Cg4MVFhamdevWae3atfL3969y/1XlUkFBgdv6N3v37lVYWJgCAwP10EMPadWqVerSpYsHzwQ8wdf5hIbFU/mUlJSkbdu26b333lN5ebm+//57zZ49W5Lc3ud8Nb0+VVi9erXy8vJ0zz33XOGRozbUJJ8OHz4sSXrmmWf0wAMPaN26derVq5cGDx7sWrstNzf3gqVs/P39FR0dXeXnoIrXcb9rOHydT2hYPJVPl6uq61NF2/m+/vprpaen6/7777+i/aJhoRhZR9lsNq1cuVIHDhxQdHS0QkJClJycrBEjRrit8fCb3/xGSUlJ6tatm8aPH6+lS5dq1apVOnTokCTJ6XTK4XDo1VdfVVJSkq677jq99957ysrKUnJysiQpLCzM9VPZw29Q/3kqn86VkpKi/fv3u41ezM7OdsunF1988bLiffvttzV+/PgLRqbA9zyVS0VFRZo0aZL69eunv//979q6dauuueYajRw50vUl60quTQkJCdq1a5e2b9+uyZMna+LEidq3b5/nTgQ8or7kE+oHT+XTsGHDNH/+fD300EMKDAxUp06ddOONN0qS6308kU+LFi3SiBEj1KJFiys8ctSGmuST0+mUJD344IO699571bNnTy1YsEAJCQl6++23a7wv7ncNX33JJ9QP3synrl27uvJpxIgRlxXvokWL1K1bN/3iF7+4rNejYWK4QB3Wu3dv7dq1S/n5+SotLVVMTIz69u3rNiz/fH379pUkHTx4UB06dNBVV10lSW5/IY2JiVHTpk2VnZ0tSdq1a5erzW6318KRoC7wRD6da+HChbr22mvVu3dv17YWLVq45VN0dLQkKTY2VidOnHB7/YkTJypdHPurr75SZmam3n///Us+RniHJ3Jp2bJlOnr0qFJSUlwfmpYtW6aoqCh99NFHuvPOOyu9NlWVS3a73W2EbkBAgOLj413xpqam6pVXXtFbb73lkXMAz/FlPqHh8dS97oknntDjjz+unJwcRUVF6ejRo5o5c6bat28vqfLPTjW9PknSt99+q02bNmnlypVXfMyoPRfLp8o+Z0tS586dXZ+zY2NjdfLkSbf2srIynTp1yvU5iPtd4+DLfELD44l8qok1a9a4HgZYce2p6vpU0XauwsJCLV++3DXDAKhAMbIeiIiIkCRlZWVpx44deu6556rsW3Hzqbj49OvXT5KUmZmpVq1aSZJOnTqlH3/8UXFxcZLk+gCDxuFK8qnC2bNntWLFCs2ZM8dtu7+/f6X5lJiYqM2bN2vq1KmubRs3bqx0TaNFixapd+/eVT7pD3XHleTSTz/9JKvV6rZOWsW/K/6SW1UurVmzxm1bVbl0LqfT6VpfB3WTL/IJDZcn7nUWi8U1avG9995T69at1atXL0lXfn1avHixmjVrppEjR9b8oOAzVeVT27Zt1aJFC2VmZrr1P3DggGsEUWJiovLy8rRz507XH3A/++wzOZ1OVyGc+13j4ot8QsN1JflUExU1g3MlJibqySeflMPhkM1mk/Tz9SkhIUFRUVFufT/44AOVlJRUu/QXGilfP0GnMTtz5oxJS0szaWlpRpL54x//aNLS0sy3335rjDFmxYoVJjk52Rw6dMisXr3axMXFmVtvvdX1+oMHD5rZs2ebHTt2mCNHjpiPPvrItG/f3gwYMMBtP6NGjTJdu3Y1W7duNXv37jU33XST6dKliyktLa02vorYevfubcaNG2fS0tJMRkaGq72kpMTV56qrrjL/+Z//adLS0mr85FJ4lrfyyRhjFi5caIKCgszp06drFNvWrVuNv7+/+f3vf2/2799vnn76aWOz2czevXvd+uXn55uQkBDz5ptvXv6JwBXzRi7t37/fBAYGmsmTJ5t9+/aZ9PR0c9ddd5mIiAhz/PjxKmM7fPiwCQkJMdOmTTP79+83r7/+uvHz8zPr1q1z9ZkxY4b54osvzJEjR8yePXvMjBkzjMViMRs2bKiFs4WLqcv5ZAz3uvrGW/e6efPmmT179pj09HQze/ZsY7PZ3J5kWpmaXJ+M+fmJp23atDHTp0/3zEnBZbvSfDLm5yfE2u1288EHH5isrCwza9YsExQUZA4ePOjqM3z4cNOzZ0+zfft2s2XLFtOxY0czduzYamPjflf/1OV8Mob7XX3jrXz69ttvTVpamnn22WdNWFiYa59nzpypMra8vDzTvHlzc/fdd5v09HSzfPlyExISYt56660L+vbv39/ccccdHjoraEgoRvpQcnKykXTBz8SJE40xxrzyyiumVatWxmazmTZt2phZs2aZkpIS1+uzs7PNgAEDTHR0tAkMDDTx8fFm2rRpJj8/320/+fn55r777jORkZEmOjra3HLLLSY7O/ui8VUWW1xcnKv9yJEjlfYZOHCgJ04PLpG38skYYxITE824ceMuKb4VK1aYTp06mYCAANO1a1fz6aefXtDnrbfeMsHBwSYvL+/SDh4e5a1c2rBhg+nXr5+JiIgwUVFRZtCgQSYlJaVG8V177bUmICDAtG/f3ixevNit/b777jNxcXEmICDAxMTEmMGDB/PFzIfqej5xr6tfvJVPN9xwg4mIiDBBQUGmb9++Zs2aNTWOr7rrkzHGrF+/3kgymZmZl30e4BlXmk8V5syZY1q1amVCQkJMYmKi+eqrr9za//GPf5ixY8easLAwY7fbzb333lvtF/1z4+N+V3/U9Xzifle/eCufJk6cWOl+kpOTq41v9+7dpn///iYwMNC0bNnSzJ0794I+33zzjZHEdQmVshhjzCUNpQQAAAAAAACAy8DTtAEAAAAAAAB4BcVIAAAAAAAAAF5BMRIAAAAAAACAV1CMBAAAAAAAAOAVFCMBAAAAAAAAeAXFSAAAAAAAAABeQTESAAAAAAAAgFdQjAQAAAAAAADgFRQjAQAAAAAAAHgFxUgAAAAAAAAAXkExEgAAAAAAAIBXUIwEAAAAAAAA4BX/B27z9D6aNR7nAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 1600x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sktime.utils import plotting\n",
    "\n",
    "columns = [y_pred_quantiles[i] for i in y_pred_quantiles.columns]\n",
    "fig, ax = plotting.plot_series(y[-50:], *columns)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c0002de5",
   "metadata": {},
   "source": [
    "##### `predict_var` - variance forecasts"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8566c184",
   "metadata": {},
   "source": [
    "Inputs:\\\n",
    "`fh` - forecasting horizon (not necessary if seen in `fit`)\\\n",
    "`cov`, boolean, default=False\\\n",
    "whether covariance forecasts should also be returned (not all estimators support this)\n",
    "\n",
    "Output: `pandas.DataFrame`, for cov=False:\\\n",
    "Row index is `fh`\\\n",
    "Column is equal to column index of `y` (variables)\n",
    "\n",
    "Entries = variance forecast for variable in col, for time in row"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "4e997945",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Number of airline passengers</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1961-01</th>\n",
       "      <td>195.540049</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-02</th>\n",
       "      <td>276.196510</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-03</th>\n",
       "      <td>356.852970</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-04</th>\n",
       "      <td>437.509430</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-05</th>\n",
       "      <td>518.165890</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-06</th>\n",
       "      <td>598.822350</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-07</th>\n",
       "      <td>679.478810</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-08</th>\n",
       "      <td>760.135270</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-09</th>\n",
       "      <td>840.791730</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-10</th>\n",
       "      <td>921.448190</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-11</th>\n",
       "      <td>1002.104650</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-12</th>\n",
       "      <td>1082.761110</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         Number of airline passengers\n",
       "1961-01                    195.540049\n",
       "1961-02                    276.196510\n",
       "1961-03                    356.852970\n",
       "1961-04                    437.509430\n",
       "1961-05                    518.165890\n",
       "1961-06                    598.822350\n",
       "1961-07                    679.478810\n",
       "1961-08                    760.135270\n",
       "1961-09                    840.791730\n",
       "1961-10                    921.448190\n",
       "1961-11                   1002.104650\n",
       "1961-12                   1082.761110"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y_pred_variance = forecaster.predict_var()\n",
    "y_pred_variance"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8df8ea93",
   "metadata": {},
   "source": [
    "with covariance, using a forecaster which can return covariance forecasts:\n",
    "\n",
    "return is `pandas.DataFrame` with `fh` indexing rows and columns;\\\n",
    "entries are forecast covariance between row and column time\\\n",
    "(diagonal = forecast variances)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "7de1e800",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>1961-01</th>\n",
       "      <th>1961-02</th>\n",
       "      <th>1961-03</th>\n",
       "      <th>1961-04</th>\n",
       "      <th>1961-05</th>\n",
       "      <th>1961-06</th>\n",
       "      <th>1961-07</th>\n",
       "      <th>1961-08</th>\n",
       "      <th>1961-09</th>\n",
       "      <th>1961-10</th>\n",
       "      <th>1961-11</th>\n",
       "      <th>1961-12</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1961-01</th>\n",
       "      <td>292.337333</td>\n",
       "      <td>255.742991</td>\n",
       "      <td>264.805437</td>\n",
       "      <td>227.703049</td>\n",
       "      <td>146.093848</td>\n",
       "      <td>154.452828</td>\n",
       "      <td>157.976795</td>\n",
       "      <td>105.160767</td>\n",
       "      <td>78.330263</td>\n",
       "      <td>81.835807</td>\n",
       "      <td>78.048880</td>\n",
       "      <td>197.364510</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-02</th>\n",
       "      <td>255.742991</td>\n",
       "      <td>422.704601</td>\n",
       "      <td>402.539255</td>\n",
       "      <td>353.437043</td>\n",
       "      <td>291.205404</td>\n",
       "      <td>236.587874</td>\n",
       "      <td>227.199374</td>\n",
       "      <td>205.653010</td>\n",
       "      <td>152.067425</td>\n",
       "      <td>121.629138</td>\n",
       "      <td>156.199110</td>\n",
       "      <td>245.437907</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-03</th>\n",
       "      <td>264.805437</td>\n",
       "      <td>402.539255</td>\n",
       "      <td>588.085328</td>\n",
       "      <td>506.095455</td>\n",
       "      <td>426.997512</td>\n",
       "      <td>394.503923</td>\n",
       "      <td>311.457837</td>\n",
       "      <td>282.072145</td>\n",
       "      <td>243.688600</td>\n",
       "      <td>185.938840</td>\n",
       "      <td>185.070360</td>\n",
       "      <td>305.461211</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-04</th>\n",
       "      <td>227.703049</td>\n",
       "      <td>353.437043</td>\n",
       "      <td>506.095455</td>\n",
       "      <td>634.350443</td>\n",
       "      <td>526.180879</td>\n",
       "      <td>482.653094</td>\n",
       "      <td>422.777303</td>\n",
       "      <td>323.453741</td>\n",
       "      <td>280.749312</td>\n",
       "      <td>242.065788</td>\n",
       "      <td>211.397164</td>\n",
       "      <td>294.971031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-05</th>\n",
       "      <td>146.093848</td>\n",
       "      <td>291.205404</td>\n",
       "      <td>426.997512</td>\n",
       "      <td>526.180879</td>\n",
       "      <td>628.659343</td>\n",
       "      <td>570.277520</td>\n",
       "      <td>499.460184</td>\n",
       "      <td>419.166444</td>\n",
       "      <td>325.582777</td>\n",
       "      <td>281.608605</td>\n",
       "      <td>269.847439</td>\n",
       "      <td>318.534675</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-06</th>\n",
       "      <td>154.452828</td>\n",
       "      <td>236.587874</td>\n",
       "      <td>394.503923</td>\n",
       "      <td>482.653094</td>\n",
       "      <td>570.277520</td>\n",
       "      <td>728.132497</td>\n",
       "      <td>629.184840</td>\n",
       "      <td>527.767034</td>\n",
       "      <td>444.690518</td>\n",
       "      <td>330.643655</td>\n",
       "      <td>313.248426</td>\n",
       "      <td>382.803216</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-07</th>\n",
       "      <td>157.976795</td>\n",
       "      <td>227.199374</td>\n",
       "      <td>311.457837</td>\n",
       "      <td>422.777303</td>\n",
       "      <td>499.460184</td>\n",
       "      <td>629.184840</td>\n",
       "      <td>753.550004</td>\n",
       "      <td>629.138725</td>\n",
       "      <td>536.407567</td>\n",
       "      <td>441.998605</td>\n",
       "      <td>352.570966</td>\n",
       "      <td>415.110916</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-08</th>\n",
       "      <td>105.160767</td>\n",
       "      <td>205.653010</td>\n",
       "      <td>282.072145</td>\n",
       "      <td>323.453741</td>\n",
       "      <td>419.166444</td>\n",
       "      <td>527.767034</td>\n",
       "      <td>629.138725</td>\n",
       "      <td>729.423304</td>\n",
       "      <td>615.142491</td>\n",
       "      <td>506.155614</td>\n",
       "      <td>439.994838</td>\n",
       "      <td>430.992291</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-09</th>\n",
       "      <td>78.330263</td>\n",
       "      <td>152.067425</td>\n",
       "      <td>243.688600</td>\n",
       "      <td>280.749312</td>\n",
       "      <td>325.582777</td>\n",
       "      <td>444.690518</td>\n",
       "      <td>536.407567</td>\n",
       "      <td>615.142491</td>\n",
       "      <td>744.225561</td>\n",
       "      <td>609.227140</td>\n",
       "      <td>527.489573</td>\n",
       "      <td>546.637585</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-10</th>\n",
       "      <td>81.835807</td>\n",
       "      <td>121.629138</td>\n",
       "      <td>185.938840</td>\n",
       "      <td>242.065788</td>\n",
       "      <td>281.608605</td>\n",
       "      <td>330.643655</td>\n",
       "      <td>441.998605</td>\n",
       "      <td>506.155614</td>\n",
       "      <td>609.227140</td>\n",
       "      <td>697.805479</td>\n",
       "      <td>590.542043</td>\n",
       "      <td>604.681130</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-11</th>\n",
       "      <td>78.048880</td>\n",
       "      <td>156.199110</td>\n",
       "      <td>185.070360</td>\n",
       "      <td>211.397164</td>\n",
       "      <td>269.847439</td>\n",
       "      <td>313.248426</td>\n",
       "      <td>352.570966</td>\n",
       "      <td>439.994838</td>\n",
       "      <td>527.489573</td>\n",
       "      <td>590.542043</td>\n",
       "      <td>706.960626</td>\n",
       "      <td>698.982580</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-12</th>\n",
       "      <td>197.364510</td>\n",
       "      <td>245.437907</td>\n",
       "      <td>305.461211</td>\n",
       "      <td>294.971031</td>\n",
       "      <td>318.534675</td>\n",
       "      <td>382.803216</td>\n",
       "      <td>415.110916</td>\n",
       "      <td>430.992291</td>\n",
       "      <td>546.637585</td>\n",
       "      <td>604.681130</td>\n",
       "      <td>698.982580</td>\n",
       "      <td>913.698229</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            1961-01     1961-02     1961-03     1961-04     1961-05  \\\n",
       "1961-01  292.337333  255.742991  264.805437  227.703049  146.093848   \n",
       "1961-02  255.742991  422.704601  402.539255  353.437043  291.205404   \n",
       "1961-03  264.805437  402.539255  588.085328  506.095455  426.997512   \n",
       "1961-04  227.703049  353.437043  506.095455  634.350443  526.180879   \n",
       "1961-05  146.093848  291.205404  426.997512  526.180879  628.659343   \n",
       "1961-06  154.452828  236.587874  394.503923  482.653094  570.277520   \n",
       "1961-07  157.976795  227.199374  311.457837  422.777303  499.460184   \n",
       "1961-08  105.160767  205.653010  282.072145  323.453741  419.166444   \n",
       "1961-09   78.330263  152.067425  243.688600  280.749312  325.582777   \n",
       "1961-10   81.835807  121.629138  185.938840  242.065788  281.608605   \n",
       "1961-11   78.048880  156.199110  185.070360  211.397164  269.847439   \n",
       "1961-12  197.364510  245.437907  305.461211  294.971031  318.534675   \n",
       "\n",
       "            1961-06     1961-07     1961-08     1961-09     1961-10  \\\n",
       "1961-01  154.452828  157.976795  105.160767   78.330263   81.835807   \n",
       "1961-02  236.587874  227.199374  205.653010  152.067425  121.629138   \n",
       "1961-03  394.503923  311.457837  282.072145  243.688600  185.938840   \n",
       "1961-04  482.653094  422.777303  323.453741  280.749312  242.065788   \n",
       "1961-05  570.277520  499.460184  419.166444  325.582777  281.608605   \n",
       "1961-06  728.132497  629.184840  527.767034  444.690518  330.643655   \n",
       "1961-07  629.184840  753.550004  629.138725  536.407567  441.998605   \n",
       "1961-08  527.767034  629.138725  729.423304  615.142491  506.155614   \n",
       "1961-09  444.690518  536.407567  615.142491  744.225561  609.227140   \n",
       "1961-10  330.643655  441.998605  506.155614  609.227140  697.805479   \n",
       "1961-11  313.248426  352.570966  439.994838  527.489573  590.542043   \n",
       "1961-12  382.803216  415.110916  430.992291  546.637585  604.681130   \n",
       "\n",
       "            1961-11     1961-12  \n",
       "1961-01   78.048880  197.364510  \n",
       "1961-02  156.199110  245.437907  \n",
       "1961-03  185.070360  305.461211  \n",
       "1961-04  211.397164  294.971031  \n",
       "1961-05  269.847439  318.534675  \n",
       "1961-06  313.248426  382.803216  \n",
       "1961-07  352.570966  415.110916  \n",
       "1961-08  439.994838  430.992291  \n",
       "1961-09  527.489573  546.637585  \n",
       "1961-10  590.542043  604.681130  \n",
       "1961-11  706.960626  698.982580  \n",
       "1961-12  698.982580  913.698229  "
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sktime.forecasting.naive import NaiveVariance\n",
    "\n",
    "forecaster_with_covariance = NaiveVariance(forecaster)\n",
    "forecaster_with_covariance.fit(y=y, fh=fh)\n",
    "forecaster_with_covariance.predict_var(cov=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e25d8a7d",
   "metadata": {},
   "source": [
    "##### `predict_proba` - distribution forecasts aka \"full\" probabilistic forecasts"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "16542db7",
   "metadata": {},
   "source": [
    "Inputs:\\\n",
    "`fh` - forecasting horizon (not necessary if seen in `fit`)\\\n",
    "`marginal`, bool, optional, default=True\\\n",
    "whether returned distribution is marginal over time points (True), or joint over time points (False)\\\n",
    "(not all forecasters support `marginal=False`)\n",
    "\n",
    "Output: `tensorflow-probability` `Distribution` object (requires `tensorflow` installed)\\\n",
    "if `marginal=True`: batch shape 1D, `len(fh)` (time); event shape 1D, `len(y.columns)` (variables)\\\n",
    "if `marginal=False`: event shape 2D, `[len(fh), len(y.columns)]`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "27d2e321",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style>#sk-8125c019-59cd-4edc-b962-4062375337e4 {color: black;background-color: white;}#sk-8125c019-59cd-4edc-b962-4062375337e4 pre{padding: 0;}#sk-8125c019-59cd-4edc-b962-4062375337e4 div.sk-toggleable {background-color: white;}#sk-8125c019-59cd-4edc-b962-4062375337e4 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-8125c019-59cd-4edc-b962-4062375337e4 label.sk-toggleable__label-arrow:before {content: \"▸\";float: left;margin-right: 0.25em;color: #696969;}#sk-8125c019-59cd-4edc-b962-4062375337e4 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-8125c019-59cd-4edc-b962-4062375337e4 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-8125c019-59cd-4edc-b962-4062375337e4 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-8125c019-59cd-4edc-b962-4062375337e4 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-8125c019-59cd-4edc-b962-4062375337e4 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-8125c019-59cd-4edc-b962-4062375337e4 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: \"▾\";}#sk-8125c019-59cd-4edc-b962-4062375337e4 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-8125c019-59cd-4edc-b962-4062375337e4 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-8125c019-59cd-4edc-b962-4062375337e4 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-8125c019-59cd-4edc-b962-4062375337e4 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-8125c019-59cd-4edc-b962-4062375337e4 div.sk-estimator:hover {background-color: #d4ebff;}#sk-8125c019-59cd-4edc-b962-4062375337e4 div.sk-parallel-item::after {content: \"\";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-8125c019-59cd-4edc-b962-4062375337e4 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-8125c019-59cd-4edc-b962-4062375337e4 div.sk-serial::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 2em;bottom: 0;left: 50%;}#sk-8125c019-59cd-4edc-b962-4062375337e4 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;}#sk-8125c019-59cd-4edc-b962-4062375337e4 div.sk-item {z-index: 1;}#sk-8125c019-59cd-4edc-b962-4062375337e4 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;}#sk-8125c019-59cd-4edc-b962-4062375337e4 div.sk-parallel::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 2em;bottom: 0;left: 50%;}#sk-8125c019-59cd-4edc-b962-4062375337e4 div.sk-parallel-item {display: flex;flex-direction: column;position: relative;background-color: white;}#sk-8125c019-59cd-4edc-b962-4062375337e4 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-8125c019-59cd-4edc-b962-4062375337e4 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-8125c019-59cd-4edc-b962-4062375337e4 div.sk-parallel-item:only-child::after {width: 0;}#sk-8125c019-59cd-4edc-b962-4062375337e4 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;position: relative;}#sk-8125c019-59cd-4edc-b962-4062375337e4 div.sk-label label {font-family: monospace;font-weight: bold;background-color: white;display: inline-block;line-height: 1.2em;}#sk-8125c019-59cd-4edc-b962-4062375337e4 div.sk-label-container {position: relative;z-index: 2;text-align: center;}#sk-8125c019-59cd-4edc-b962-4062375337e4 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-8125c019-59cd-4edc-b962-4062375337e4 div.sk-text-repr-fallback {display: none;}</style><div id='sk-8125c019-59cd-4edc-b962-4062375337e4' class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>Normal(columns=Index([&#x27;Number of airline passengers&#x27;], dtype=&#x27;object&#x27;),\n",
       "       index=PeriodIndex([&#x27;1961-01&#x27;, &#x27;1961-02&#x27;, &#x27;1961-03&#x27;, &#x27;1961-04&#x27;, &#x27;1961-05&#x27;, &#x27;1961-06&#x27;,\n",
       "             &#x27;1961-07&#x27;, &#x27;1961-08&#x27;, &#x27;1961-09&#x27;, &#x27;1961-10&#x27;, &#x27;1961-11&#x27;, &#x27;1961-12&#x27;],\n",
       "            dtype=&#x27;period[M]&#x27;),\n",
       "       mu=         Number of airline passengers\n",
       "1961-01                    441.281036\n",
       "1961-02                    429.551968\n",
       "1961-03                    491.038306\n",
       "1961-04                    476.994261\n",
       "1961-05                    480.967253\n",
       "1961-06                    546.836776\n",
       "1961-07                    604.372862\n",
       "1961-08                    602.712843\n",
       "1961-09                    525.352904\n",
       "1961-10                    457.845222\n",
       "1961-11                    399.012470\n",
       "1961-12                    448.832681,\n",
       "       sigma=         Number of airline passengers\n",
       "1961-01                     13.983564\n",
       "1961-02                     16.619161\n",
       "1961-03                     18.890552\n",
       "1961-04                     20.916726\n",
       "1961-05                     22.763257\n",
       "1961-06                     24.470847\n",
       "1961-07                     26.066814\n",
       "1961-08                     27.570551\n",
       "1961-09                     28.996409\n",
       "1961-10                     30.355365\n",
       "1961-11                     31.656037\n",
       "1961-12                     32.905336)</pre><b>Please rerun this cell to show the HTML repr or trust the notebook.</b></div><div class=\"sk-container\" hidden><div class='sk-item'><div class=\"sk-estimator sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=UUID('7e30e48d-3be6-4e33-a8b5-ba4ff8e29a87') type=\"checkbox\" checked><label for=UUID('7e30e48d-3be6-4e33-a8b5-ba4ff8e29a87') class='sk-toggleable__label sk-toggleable__label-arrow'>Normal</label><div class=\"sk-toggleable__content\"><pre>Normal(columns=Index([&#x27;Number of airline passengers&#x27;], dtype=&#x27;object&#x27;),\n",
       "       index=PeriodIndex([&#x27;1961-01&#x27;, &#x27;1961-02&#x27;, &#x27;1961-03&#x27;, &#x27;1961-04&#x27;, &#x27;1961-05&#x27;, &#x27;1961-06&#x27;,\n",
       "             &#x27;1961-07&#x27;, &#x27;1961-08&#x27;, &#x27;1961-09&#x27;, &#x27;1961-10&#x27;, &#x27;1961-11&#x27;, &#x27;1961-12&#x27;],\n",
       "            dtype=&#x27;period[M]&#x27;),\n",
       "       mu=         Number of airline passengers\n",
       "1961-01                    441.281036\n",
       "1961-02                    429.551968\n",
       "1961-03                    491.038306\n",
       "1961-04                    476.994261\n",
       "1961-05                    480.967253\n",
       "1961-06                    546.836776\n",
       "1961-07                    604.372862\n",
       "1961-08                    602.712843\n",
       "1961-09                    525.352904\n",
       "1961-10                    457.845222\n",
       "1961-11                    399.012470\n",
       "1961-12                    448.832681,\n",
       "       sigma=         Number of airline passengers\n",
       "1961-01                     13.983564\n",
       "1961-02                     16.619161\n",
       "1961-03                     18.890552\n",
       "1961-04                     20.916726\n",
       "1961-05                     22.763257\n",
       "1961-06                     24.470847\n",
       "1961-07                     26.066814\n",
       "1961-08                     27.570551\n",
       "1961-09                     28.996409\n",
       "1961-10                     30.355365\n",
       "1961-11                     31.656037\n",
       "1961-12                     32.905336)</pre></div></div></div></div></div>"
      ],
      "text/plain": [
       "Normal(columns=Index(['Number of airline passengers'], dtype='object'),\n",
       "       index=PeriodIndex(['1961-01', '1961-02', '1961-03', '1961-04', '1961-05', '1961-06',\n",
       "             '1961-07', '1961-08', '1961-09', '1961-10', '1961-11', '1961-12'],\n",
       "            dtype='period[M]'),\n",
       "       mu=         Number of airline passengers\n",
       "1961-01                    441.281036\n",
       "1961-02                    429.551968\n",
       "1961-03                    491.038306\n",
       "1961-04                    476.994261\n",
       "1961-05                    480.967253\n",
       "1961-06                    546.836776\n",
       "1961-07                    604.372862\n",
       "1961-08                    602.712843\n",
       "1961-09                    525.352904\n",
       "1961-10                    457.845222\n",
       "1961-11                    399.012470\n",
       "1961-12                    448.832681,\n",
       "       sigma=         Number of airline passengers\n",
       "1961-01                     13.983564\n",
       "1961-02                     16.619161\n",
       "1961-03                     18.890552\n",
       "1961-04                     20.916726\n",
       "1961-05                     22.763257\n",
       "1961-06                     24.470847\n",
       "1961-07                     26.066814\n",
       "1961-08                     27.570551\n",
       "1961-09                     28.996409\n",
       "1961-10                     30.355365\n",
       "1961-11                     31.656037\n",
       "1961-12                     32.905336)"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y_pred_dist = forecaster.predict_proba()\n",
    "y_pred_dist"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "b8b86880",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">Number of airline passengers</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>0.1</th>\n",
       "      <th>0.9</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1961-01</th>\n",
       "      <td>423.360378</td>\n",
       "      <td>459.201694</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-02</th>\n",
       "      <td>408.253656</td>\n",
       "      <td>450.850279</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-03</th>\n",
       "      <td>466.829089</td>\n",
       "      <td>515.247523</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-04</th>\n",
       "      <td>450.188398</td>\n",
       "      <td>503.800124</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-05</th>\n",
       "      <td>451.794965</td>\n",
       "      <td>510.139542</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-06</th>\n",
       "      <td>515.476123</td>\n",
       "      <td>578.197428</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-07</th>\n",
       "      <td>570.966895</td>\n",
       "      <td>637.778829</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-08</th>\n",
       "      <td>567.379760</td>\n",
       "      <td>638.045925</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-09</th>\n",
       "      <td>488.192511</td>\n",
       "      <td>562.513297</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-10</th>\n",
       "      <td>418.943257</td>\n",
       "      <td>496.747188</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-11</th>\n",
       "      <td>358.443627</td>\n",
       "      <td>439.581313</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-12</th>\n",
       "      <td>406.662797</td>\n",
       "      <td>491.002565</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        Number of airline passengers            \n",
       "                                 0.1         0.9\n",
       "1961-01                   423.360378  459.201694\n",
       "1961-02                   408.253656  450.850279\n",
       "1961-03                   466.829089  515.247523\n",
       "1961-04                   450.188398  503.800124\n",
       "1961-05                   451.794965  510.139542\n",
       "1961-06                   515.476123  578.197428\n",
       "1961-07                   570.966895  637.778829\n",
       "1961-08                   567.379760  638.045925\n",
       "1961-09                   488.192511  562.513297\n",
       "1961-10                   418.943257  496.747188\n",
       "1961-11                   358.443627  439.581313\n",
       "1961-12                   406.662797  491.002565"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# obtaining quantiles\n",
    "y_pred_dist.quantile([0.1, 0.9])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "87acb079",
   "metadata": {},
   "source": [
    "##### a note on consistence of methods\n",
    "\n",
    "Outputs of `predict_interval`, `predict_quantiles`, `predict_var`, `predict_proba` are *typically* but not *necessarily* consistent with each other!\n",
    "\n",
    "Consistency is weak interface requirement but not strictly enforced."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3dd5fd21",
   "metadata": {},
   "source": [
    "#### Using probabilistic forecasts with update/predict stream workflow"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a32f8732",
   "metadata": {},
   "source": [
    "Example:\n",
    "* data observed monthly\n",
    "* make probabilistic forecasts for an entire year ahead\n",
    "* update forecasts every month\n",
    "* start in Dec 1950"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "be8a133f",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 1949 and 1950\n",
    "y_start = y[:24]\n",
    "# Jan 1951 etc\n",
    "y_update_batch_1 = y.loc[[\"1951-01\"]]\n",
    "y_update_batch_2 = y.loc[[\"1951-02\"]]\n",
    "y_update_batch_3 = y.loc[[\"1951-03\"]]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "38dad2c6",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">Number of airline passengers</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">0.9</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>lower</th>\n",
       "      <th>upper</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1951-01</th>\n",
       "      <td>125.708002</td>\n",
       "      <td>141.744261</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-02</th>\n",
       "      <td>135.554588</td>\n",
       "      <td>154.422393</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-03</th>\n",
       "      <td>149.921349</td>\n",
       "      <td>171.248013</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-04</th>\n",
       "      <td>140.807416</td>\n",
       "      <td>164.337377</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-05</th>\n",
       "      <td>127.941095</td>\n",
       "      <td>153.485009</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-06</th>\n",
       "      <td>152.968275</td>\n",
       "      <td>180.378566</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-07</th>\n",
       "      <td>167.193932</td>\n",
       "      <td>196.351377</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-08</th>\n",
       "      <td>166.316508</td>\n",
       "      <td>197.122174</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-09</th>\n",
       "      <td>150.425511</td>\n",
       "      <td>182.795583</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-10</th>\n",
       "      <td>128.623026</td>\n",
       "      <td>162.485306</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-11</th>\n",
       "      <td>109.567274</td>\n",
       "      <td>144.858726</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-12</th>\n",
       "      <td>125.641283</td>\n",
       "      <td>162.306240</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        Number of airline passengers            \n",
       "                                 0.9            \n",
       "                               lower       upper\n",
       "1951-01                   125.708002  141.744261\n",
       "1951-02                   135.554588  154.422393\n",
       "1951-03                   149.921349  171.248013\n",
       "1951-04                   140.807416  164.337377\n",
       "1951-05                   127.941095  153.485009\n",
       "1951-06                   152.968275  180.378566\n",
       "1951-07                   167.193932  196.351377\n",
       "1951-08                   166.316508  197.122174\n",
       "1951-09                   150.425511  182.795583\n",
       "1951-10                   128.623026  162.485306\n",
       "1951-11                   109.567274  144.858726\n",
       "1951-12                   125.641283  162.306240"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# now = Dec 1950\n",
    "\n",
    "# 1a. fit to data available in Dec 1950\n",
    "#   fh = [1, 2, ..., 12] for all 12 months ahead\n",
    "forecaster.fit(y_start, fh=1 + np.arange(12))\n",
    "\n",
    "# 1b. predict 1951, in Dec 1950\n",
    "forecaster.predict_interval()\n",
    "# or other proba predict functions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "07c5c221",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">Number of airline passengers</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">0.9</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>lower</th>\n",
       "      <th>upper</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1951-02</th>\n",
       "      <td>136.659402</td>\n",
       "      <td>152.695661</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-03</th>\n",
       "      <td>150.894543</td>\n",
       "      <td>169.762349</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-04</th>\n",
       "      <td>141.748827</td>\n",
       "      <td>163.075491</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-05</th>\n",
       "      <td>128.876520</td>\n",
       "      <td>152.406481</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-06</th>\n",
       "      <td>153.906405</td>\n",
       "      <td>179.450320</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-07</th>\n",
       "      <td>168.170068</td>\n",
       "      <td>195.580359</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-08</th>\n",
       "      <td>167.339646</td>\n",
       "      <td>196.497090</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-09</th>\n",
       "      <td>151.478084</td>\n",
       "      <td>182.283750</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-10</th>\n",
       "      <td>129.681609</td>\n",
       "      <td>162.051681</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-11</th>\n",
       "      <td>110.621193</td>\n",
       "      <td>144.483474</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-12</th>\n",
       "      <td>126.786543</td>\n",
       "      <td>162.077995</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1952-01</th>\n",
       "      <td>121.345111</td>\n",
       "      <td>158.010067</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        Number of airline passengers            \n",
       "                                 0.9            \n",
       "                               lower       upper\n",
       "1951-02                   136.659402  152.695661\n",
       "1951-03                   150.894543  169.762349\n",
       "1951-04                   141.748827  163.075491\n",
       "1951-05                   128.876520  152.406481\n",
       "1951-06                   153.906405  179.450320\n",
       "1951-07                   168.170068  195.580359\n",
       "1951-08                   167.339646  196.497090\n",
       "1951-09                   151.478084  182.283750\n",
       "1951-10                   129.681609  162.051681\n",
       "1951-11                   110.621193  144.483474\n",
       "1951-12                   126.786543  162.077995\n",
       "1952-01                   121.345111  158.010067"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# time passes, now = Jan 1951\n",
    "\n",
    "# 2a. update forecaster with new data\n",
    "forecaster.update(y_update_batch_1)\n",
    "\n",
    "# 2b. make new prediction - year ahead = Feb 1951 to Jan 1952\n",
    "forecaster.predict_interval()\n",
    "# forecaster remembers relative forecasting horizon"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d3f81c58",
   "metadata": {},
   "source": [
    "repeat the same commands with further data batches:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "2736566d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">Number of airline passengers</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">0.9</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>lower</th>\n",
       "      <th>upper</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1951-03</th>\n",
       "      <td>151.754371</td>\n",
       "      <td>167.790630</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-04</th>\n",
       "      <td>142.481690</td>\n",
       "      <td>161.349495</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-05</th>\n",
       "      <td>129.549186</td>\n",
       "      <td>150.875849</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-06</th>\n",
       "      <td>154.439360</td>\n",
       "      <td>177.969321</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-07</th>\n",
       "      <td>168.623239</td>\n",
       "      <td>194.167153</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-08</th>\n",
       "      <td>167.770038</td>\n",
       "      <td>195.180329</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-09</th>\n",
       "      <td>151.929278</td>\n",
       "      <td>181.086722</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-10</th>\n",
       "      <td>130.167028</td>\n",
       "      <td>160.972694</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-11</th>\n",
       "      <td>111.133094</td>\n",
       "      <td>143.503166</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-12</th>\n",
       "      <td>127.264383</td>\n",
       "      <td>161.126664</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1952-01</th>\n",
       "      <td>121.830219</td>\n",
       "      <td>157.121670</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1952-02</th>\n",
       "      <td>132.976427</td>\n",
       "      <td>169.641384</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        Number of airline passengers            \n",
       "                                 0.9            \n",
       "                               lower       upper\n",
       "1951-03                   151.754371  167.790630\n",
       "1951-04                   142.481690  161.349495\n",
       "1951-05                   129.549186  150.875849\n",
       "1951-06                   154.439360  177.969321\n",
       "1951-07                   168.623239  194.167153\n",
       "1951-08                   167.770038  195.180329\n",
       "1951-09                   151.929278  181.086722\n",
       "1951-10                   130.167028  160.972694\n",
       "1951-11                   111.133094  143.503166\n",
       "1951-12                   127.264383  161.126664\n",
       "1952-01                   121.830219  157.121670\n",
       "1952-02                   132.976427  169.641384"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# time passes, now = Feb 1951\n",
    "\n",
    "# 3a. update forecaster with new data\n",
    "forecaster.update(y_update_batch_2)\n",
    "\n",
    "# 3b. make new prediction - year ahead = Feb 1951 to Jan 1952\n",
    "forecaster.predict_interval()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "483c84c5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">Number of airline passengers</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">0.9</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>lower</th>\n",
       "      <th>upper</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1951-04</th>\n",
       "      <td>143.421746</td>\n",
       "      <td>159.458004</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-05</th>\n",
       "      <td>130.401490</td>\n",
       "      <td>149.269296</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-06</th>\n",
       "      <td>155.166804</td>\n",
       "      <td>176.493468</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-07</th>\n",
       "      <td>169.300651</td>\n",
       "      <td>192.830612</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-08</th>\n",
       "      <td>168.451755</td>\n",
       "      <td>193.995669</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-09</th>\n",
       "      <td>152.643331</td>\n",
       "      <td>180.053622</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-10</th>\n",
       "      <td>130.913430</td>\n",
       "      <td>160.070874</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-11</th>\n",
       "      <td>111.900912</td>\n",
       "      <td>142.706578</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-12</th>\n",
       "      <td>128.054396</td>\n",
       "      <td>160.424468</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1952-01</th>\n",
       "      <td>122.645044</td>\n",
       "      <td>156.507325</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1952-02</th>\n",
       "      <td>133.834100</td>\n",
       "      <td>169.125551</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1952-03</th>\n",
       "      <td>149.605269</td>\n",
       "      <td>186.270225</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        Number of airline passengers            \n",
       "                                 0.9            \n",
       "                               lower       upper\n",
       "1951-04                   143.421746  159.458004\n",
       "1951-05                   130.401490  149.269296\n",
       "1951-06                   155.166804  176.493468\n",
       "1951-07                   169.300651  192.830612\n",
       "1951-08                   168.451755  193.995669\n",
       "1951-09                   152.643331  180.053622\n",
       "1951-10                   130.913430  160.070874\n",
       "1951-11                   111.900912  142.706578\n",
       "1951-12                   128.054396  160.424468\n",
       "1952-01                   122.645044  156.507325\n",
       "1952-02                   133.834100  169.125551\n",
       "1952-03                   149.605269  186.270225"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# time passes, now = Feb 1951\n",
    "\n",
    "# 4a. update forecaster with new data\n",
    "forecaster.update(y_update_batch_3)\n",
    "\n",
    "# 4b. make new prediction - year ahead = Feb 1951 to Jan 1952\n",
    "forecaster.predict_interval()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cbcf39af",
   "metadata": {},
   "source": [
    "... and so on."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "0f2ddebc",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(<Figure size 1600x480 with 1 Axes>,\n",
       " <Axes: xlabel='Time', ylabel='Window number'>)"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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vJYXla4Gjd3laIPGWKXCn6sUn0Gj5Y8NDxw4oKeeeko/+tGPNHr0aH3mM5/Rpk2bdM011+ixxx6z/lMAAAAAAABkMP/by7TnH19vN2SUpGBzg/b84+vyv70sYd87NzdXJSUl7b7ahoxr167V2WefrdzcXJWWlmru3LntToIzduxYXXPNNZo1a5ZOPPFETZw4UZK0ZcsWTZo0SQ6HQy6XS5dcconef//98ONCoZDuuOMODRkyRLm5uSorK9Ntt90Wvv2GG25QRUWFevfurZNOOkk33nijDh06FL5906ZNqqqqUkFBgQoLC3XmmWdqw4YNWrNmjS677DL5fD7ZbDbZbDbdfPPNkjrvOm2z2fS73/1OX/7yl9W7d28NHTpUTzzxRLs/myeeeEJDhw5VXl6eqqqqVFNTI5vNdtwh5vvvv3/MbrR/rkfuOn3zzTeHf8Yjvx566CFJUmtrq77//e+rX79+ysvL0+c+9zmtX78+/D3WrFkjm82mp59+WiNHjlTv3r01evRovfnmm8f82WJledDYp08fXXLJJfr44481d+5cNTQ06LXXXtOdd96pCy64IBFrBAAAAAAASBmmaSp0yB/RV7C1SR+svk46ytmx2677YM1sBVubIurFuGNq2M6dO/WlL31JZ511ljZt2qR7771XDz74oH7605+2u19NTY169eqlF154Qffdd5/27duncePG6fTTT9eGDRv0r3/9S7t379aFF14Yfsy8efO0cOFC3XjjjaqtrdXDDz8sl8sVvr2goEAPPfSQamtrdffdd+uBBx7QnXfeGb59+vTpGjBggNavX69XXnlFc+fOVU5OjkaPHq277rpLhYWFamxsVGNjo374wx92+TPecsstuvDCC/X666/rS1/6kqZPn64PP/xQkrRt2zZNmzZNU6dO1aZNm/Ttb39bP/7xjyP6sztWN9o/145++MMfhn/GxsZG/fznP1fv3r01cuRISdL111+vv/3tb6qpqdGrr76qIUOGaOLEieF1tPnxj3+sX/ziF9qwYYMMw9Dll18e0c8YLcu7Tk+dOlXPP/+8evXqpbFjx4a/KioqErXGmLDrNAAAAAAAiEXHXUpDh/za/puipKxl4NUfKSvHHtF9L730Ui1ZsqTdbrCTJk3SX//6V/34xz/W3/72N73xxhvh4wn+9re/1Q033CCfz6esrCyNHTtWTU1NevXVV8OP/+lPf6rnnntOK1asCF/33nvvyePx6M0331RpaamKi4t1zz33RHwej5///Of685//rA0bNkiSCgsL9etf/1ozZ87sdN+udp0eNGiQZs2apVmzZkn6ZOvA+fPn63//938lSX6/Xw6HQ8uXL9d5552nuXPn6p///Kc2b94cbsyfP1+33XabPvroI/Xp0+eoaz1eN9o/17b20XbLXrduXXiLywsvvFB+v19FRUV66KGHdPHFF0uSDh06FP4zmDNnjtasWaOqqiqtWrVKX/ziFyVJTz75pM4//3y1tLQc9RAA8dh12vLRUds24Xz99de1du1aPfXUU7rxxhtlGIbGjh2rpUuXWk0CAAAAAAAgAaqqqnTvvfeGL9vtnwwp33jjDZ177rntTlry2c9+Vs3NzXrvvfdUVlYmSTrzzDPb9TZt2qTVq1fL4XB0+l51dXXat2+fWltbw8Oto3nkkUf0q1/9SnV1dWpublYgEGg3vJo9e7a++c1v6o9//KPGjx+vr33tayovL7f8s3/mM59p93MXFhZqz549kqQ333xTZ511Vrv7n3322TF3o/1z7cqOHTs0depU/fCHPwxvNVpXV6dDhw7ps5/9bPh+OTk5Ovvss/XGG290udbS0lJJ0p49e8LriLeoT8M0YsQIBQIBHTx4UB9//LFWrFihRx55hEEjAAAAAADIaDajtwZe/VFE9/145/Pa/ffJx72fa+r/p7z+n4voe1tht9ujPsN02+OP1NzcrMmTJ+v222/vdN/S0lK98847x+y99NJLmj59um655RZNnDhRTqdTf/7zn/WLX/wifJ+bb75ZF198sf75z39q+fLluummm/TnP/9ZX/6ytZPm5OTktLtss9kUCoUsNRLV7fjnejR+v19TpkzRueeeq1tvvdVSv82Ra20bfsbjz6Arlo/R+Mtf/lJTpkxR3759dc455+hPf/qTKioq9Le//U179+5NxBoBAAAAAABShs1mU1aOPaKv/LLxynb0l2TrqqZsxwDll42PqHfklnKxGD58uF566aV2x3x84YUXVFBQoAEDBnT5uDPOOEP/+c9/NGjQIA0ZMqTdl91u19ChQ5Wfn6+nn376qI9/8cUXNXDgQP34xz/WyJEjNXToUG3fvr3T/SoqKnTdddfpqaee0le+8pXwmbN79eqlYDAY408vDRs2LLyrdpsjT6YS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",
      "text/plain": [
       "<Figure size 1600x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sktime.split import ExpandingWindowSplitter\n",
    "from sktime.utils.plotting import plot_windows\n",
    "\n",
    "cv = ExpandingWindowSplitter(step_length=1, fh=fh, initial_window=24)\n",
    "plot_windows(cv, y.iloc[:50])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1bf857cd",
   "metadata": {},
   "source": [
    "#"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "da797a68",
   "metadata": {},
   "source": [
    "#### Probabilistic forecasting for multivariate and hierarchical data"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0b2ce785",
   "metadata": {},
   "source": [
    "multivariate data: first column index for different variables"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "553d2e2b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style>#sk-f23c3876-2cde-4425-8d64-a316fb81fd51 {color: black;background-color: white;}#sk-f23c3876-2cde-4425-8d64-a316fb81fd51 pre{padding: 0;}#sk-f23c3876-2cde-4425-8d64-a316fb81fd51 div.sk-toggleable {background-color: white;}#sk-f23c3876-2cde-4425-8d64-a316fb81fd51 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-f23c3876-2cde-4425-8d64-a316fb81fd51 label.sk-toggleable__label-arrow:before {content: \"▸\";float: left;margin-right: 0.25em;color: #696969;}#sk-f23c3876-2cde-4425-8d64-a316fb81fd51 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-f23c3876-2cde-4425-8d64-a316fb81fd51 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-f23c3876-2cde-4425-8d64-a316fb81fd51 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-f23c3876-2cde-4425-8d64-a316fb81fd51 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-f23c3876-2cde-4425-8d64-a316fb81fd51 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-f23c3876-2cde-4425-8d64-a316fb81fd51 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: \"▾\";}#sk-f23c3876-2cde-4425-8d64-a316fb81fd51 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-f23c3876-2cde-4425-8d64-a316fb81fd51 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-f23c3876-2cde-4425-8d64-a316fb81fd51 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-f23c3876-2cde-4425-8d64-a316fb81fd51 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-f23c3876-2cde-4425-8d64-a316fb81fd51 div.sk-estimator:hover {background-color: #d4ebff;}#sk-f23c3876-2cde-4425-8d64-a316fb81fd51 div.sk-parallel-item::after {content: \"\";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-f23c3876-2cde-4425-8d64-a316fb81fd51 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-f23c3876-2cde-4425-8d64-a316fb81fd51 div.sk-serial::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 2em;bottom: 0;left: 50%;}#sk-f23c3876-2cde-4425-8d64-a316fb81fd51 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;}#sk-f23c3876-2cde-4425-8d64-a316fb81fd51 div.sk-item {z-index: 1;}#sk-f23c3876-2cde-4425-8d64-a316fb81fd51 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;}#sk-f23c3876-2cde-4425-8d64-a316fb81fd51 div.sk-parallel::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 2em;bottom: 0;left: 50%;}#sk-f23c3876-2cde-4425-8d64-a316fb81fd51 div.sk-parallel-item {display: flex;flex-direction: column;position: relative;background-color: white;}#sk-f23c3876-2cde-4425-8d64-a316fb81fd51 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-f23c3876-2cde-4425-8d64-a316fb81fd51 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-f23c3876-2cde-4425-8d64-a316fb81fd51 div.sk-parallel-item:only-child::after {width: 0;}#sk-f23c3876-2cde-4425-8d64-a316fb81fd51 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;position: relative;}#sk-f23c3876-2cde-4425-8d64-a316fb81fd51 div.sk-label label {font-family: monospace;font-weight: bold;background-color: white;display: inline-block;line-height: 1.2em;}#sk-f23c3876-2cde-4425-8d64-a316fb81fd51 div.sk-label-container {position: relative;z-index: 2;text-align: center;}#sk-f23c3876-2cde-4425-8d64-a316fb81fd51 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-f23c3876-2cde-4425-8d64-a316fb81fd51 div.sk-text-repr-fallback {display: none;}</style><div id='sk-f23c3876-2cde-4425-8d64-a316fb81fd51' class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>VAR()</pre><b>Please rerun this cell to show the HTML repr or trust the notebook.</b></div><div class=\"sk-container\" hidden><div class='sk-item'><div class=\"sk-estimator sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=UUID('890d0cd6-eea0-4b29-a628-0deaaf61884c') type=\"checkbox\" checked><label for=UUID('890d0cd6-eea0-4b29-a628-0deaaf61884c') class='sk-toggleable__label sk-toggleable__label-arrow'>VAR</label><div class=\"sk-toggleable__content\"><pre>VAR()</pre></div></div></div></div></div>"
      ],
      "text/plain": [
       "VAR()"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sktime.datasets import load_longley\n",
    "from sktime.forecasting.var import VAR\n",
    "\n",
    "_, y = load_longley()\n",
    "\n",
    "mv_forecaster = VAR()\n",
    "\n",
    "mv_forecaster.fit(y, fh=[1, 2, 3])\n",
    "# mv_forecaster.predict_var()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bd466ddc",
   "metadata": {},
   "source": [
    "hierarchical data: probabilistic forecasts per level are row-concatenated with a row hierarchy index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "040ee090",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>c0</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>h0</th>\n",
       "      <th>h1</th>\n",
       "      <th>time</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"5\" valign=\"top\">h0_0</th>\n",
       "      <th rowspan=\"5\" valign=\"top\">h1_0</th>\n",
       "      <th>2000-01-01</th>\n",
       "      <td>5.272974</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2000-01-02</th>\n",
       "      <td>4.416770</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2000-01-03</th>\n",
       "      <td>2.991815</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2000-01-04</th>\n",
       "      <td>2.360916</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2000-01-05</th>\n",
       "      <td>2.269617</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <th>...</th>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"5\" valign=\"top\">h0_1</th>\n",
       "      <th rowspan=\"5\" valign=\"top\">h1_3</th>\n",
       "      <th>2000-01-08</th>\n",
       "      <td>4.388797</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2000-01-09</th>\n",
       "      <td>5.096147</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2000-01-10</th>\n",
       "      <td>3.347833</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2000-01-11</th>\n",
       "      <td>3.560713</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2000-01-12</th>\n",
       "      <td>4.467743</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>96 rows × 1 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                            c0\n",
       "h0   h1   time                \n",
       "h0_0 h1_0 2000-01-01  5.272974\n",
       "          2000-01-02  4.416770\n",
       "          2000-01-03  2.991815\n",
       "          2000-01-04  2.360916\n",
       "          2000-01-05  2.269617\n",
       "...                        ...\n",
       "h0_1 h1_3 2000-01-08  4.388797\n",
       "          2000-01-09  5.096147\n",
       "          2000-01-10  3.347833\n",
       "          2000-01-11  3.560713\n",
       "          2000-01-12  4.467743\n",
       "\n",
       "[96 rows x 1 columns]"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sktime.forecasting.arima import ARIMA\n",
    "from sktime.utils._testing.hierarchical import _make_hierarchical\n",
    "\n",
    "y_hier = _make_hierarchical()\n",
    "y_hier"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "a49a126f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">0</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">0.9</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>lower</th>\n",
       "      <th>upper</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>h0</th>\n",
       "      <th>h1</th>\n",
       "      <th>time</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"12\" valign=\"top\">h0_0</th>\n",
       "      <th rowspan=\"3\" valign=\"top\">h1_0</th>\n",
       "      <th>2000-01-13</th>\n",
       "      <td>1.722621</td>\n",
       "      <td>5.035875</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2000-01-14</th>\n",
       "      <td>1.880358</td>\n",
       "      <td>5.280790</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2000-01-15</th>\n",
       "      <td>1.924552</td>\n",
       "      <td>5.329570</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"3\" valign=\"top\">h1_1</th>\n",
       "      <th>2000-01-13</th>\n",
       "      <td>1.847150</td>\n",
       "      <td>4.690652</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2000-01-14</th>\n",
       "      <td>1.874098</td>\n",
       "      <td>4.740716</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2000-01-15</th>\n",
       "      <td>1.878830</td>\n",
       "      <td>4.745823</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"3\" valign=\"top\">h1_2</th>\n",
       "      <th>2000-01-13</th>\n",
       "      <td>2.012331</td>\n",
       "      <td>5.262287</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2000-01-14</th>\n",
       "      <td>1.717852</td>\n",
       "      <td>4.986732</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2000-01-15</th>\n",
       "      <td>1.748543</td>\n",
       "      <td>5.017644</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"3\" valign=\"top\">h1_3</th>\n",
       "      <th>2000-01-13</th>\n",
       "      <td>2.673739</td>\n",
       "      <td>4.996850</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2000-01-14</th>\n",
       "      <td>2.589237</td>\n",
       "      <td>4.975105</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2000-01-15</th>\n",
       "      <td>2.599973</td>\n",
       "      <td>4.989230</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"12\" valign=\"top\">h0_1</th>\n",
       "      <th rowspan=\"3\" valign=\"top\">h1_0</th>\n",
       "      <th>2000-01-13</th>\n",
       "      <td>2.596552</td>\n",
       "      <td>4.620861</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2000-01-14</th>\n",
       "      <td>2.144881</td>\n",
       "      <td>4.272040</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2000-01-15</th>\n",
       "      <td>2.268863</td>\n",
       "      <td>4.406453</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"3\" valign=\"top\">h1_1</th>\n",
       "      <th>2000-01-13</th>\n",
       "      <td>2.353941</td>\n",
       "      <td>5.390139</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2000-01-14</th>\n",
       "      <td>2.267849</td>\n",
       "      <td>5.321420</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2000-01-15</th>\n",
       "      <td>2.259457</td>\n",
       "      <td>5.313227</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"3\" valign=\"top\">h1_2</th>\n",
       "      <th>2000-01-13</th>\n",
       "      <td>1.877079</td>\n",
       "      <td>5.224196</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2000-01-14</th>\n",
       "      <td>1.975364</td>\n",
       "      <td>5.387870</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2000-01-15</th>\n",
       "      <td>2.000103</td>\n",
       "      <td>5.415163</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"3\" valign=\"top\">h1_3</th>\n",
       "      <th>2000-01-13</th>\n",
       "      <td>2.655375</td>\n",
       "      <td>5.049080</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2000-01-14</th>\n",
       "      <td>2.577533</td>\n",
       "      <td>4.986714</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2000-01-15</th>\n",
       "      <td>2.569449</td>\n",
       "      <td>4.978829</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                             0          \n",
       "                           0.9          \n",
       "                         lower     upper\n",
       "h0   h1   time                          \n",
       "h0_0 h1_0 2000-01-13  1.722621  5.035875\n",
       "          2000-01-14  1.880358  5.280790\n",
       "          2000-01-15  1.924552  5.329570\n",
       "     h1_1 2000-01-13  1.847150  4.690652\n",
       "          2000-01-14  1.874098  4.740716\n",
       "          2000-01-15  1.878830  4.745823\n",
       "     h1_2 2000-01-13  2.012331  5.262287\n",
       "          2000-01-14  1.717852  4.986732\n",
       "          2000-01-15  1.748543  5.017644\n",
       "     h1_3 2000-01-13  2.673739  4.996850\n",
       "          2000-01-14  2.589237  4.975105\n",
       "          2000-01-15  2.599973  4.989230\n",
       "h0_1 h1_0 2000-01-13  2.596552  4.620861\n",
       "          2000-01-14  2.144881  4.272040\n",
       "          2000-01-15  2.268863  4.406453\n",
       "     h1_1 2000-01-13  2.353941  5.390139\n",
       "          2000-01-14  2.267849  5.321420\n",
       "          2000-01-15  2.259457  5.313227\n",
       "     h1_2 2000-01-13  1.877079  5.224196\n",
       "          2000-01-14  1.975364  5.387870\n",
       "          2000-01-15  2.000103  5.415163\n",
       "     h1_3 2000-01-13  2.655375  5.049080\n",
       "          2000-01-14  2.577533  4.986714\n",
       "          2000-01-15  2.569449  4.978829"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "forecaster = ARIMA()\n",
    "forecaster.fit(y_hier, fh=[1, 2, 3])\n",
    "forecaster.predict_interval()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "74763c48",
   "metadata": {},
   "source": [
    "(more about this in the hierarchical forecasting notebook)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "illegal-legend",
   "metadata": {},
   "source": [
    "---\n",
    "### Metrics for probabilistic forecasts and evaluation\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1f8cb021",
   "metadata": {},
   "source": [
    "#### overview - theory\n",
    "\n",
    "Predicted `y` has different form from true `y`, so metrics have form\n",
    "\n",
    "`metric(y_true: series, y_pred: proba_prediction) -> float`\n",
    "\n",
    "where `proba_prediction` is the type of the specific \"probabilistic prediction type\".\n",
    "\n",
    "I.e., we have the following function signature for a loss/metric $L$:\n",
    "\n",
    "| Name | param | prediction/estimate of | general form |\n",
    "| ---- | ----- | ---------------------- | -------- |\n",
    "| point forecast | | conditional expectation $\\mathbb{E}[y'\\|y]$ | `metric(y_true, y_pred)` |\n",
    "| variance forecast | | conditional variance $Var[y'\\|y]$ | `metric(y_pred, y_pt, y_var)` (requires point forecast too) |\n",
    "| quantile forecast | $\\alpha\\in (0,1)$ | $\\alpha$-quantile of $y'\\|y$ | `metric(y_true, y_quantiles, alpha)` |\n",
    "| interval forecast | $c\\in (0,1)$| $[a,b]$ s.t. $P(a\\le y' \\le b\\| y) = c$ | `metric(y_true, y_interval, c)` |\n",
    "| distribution forecast | | the law/distribution of $y'\\|y$ | `metric(y_true, y_distribution)` |\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6c20bd6e",
   "metadata": {},
   "source": [
    "#### metrics: general signature and averaging"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "31435c23",
   "metadata": {},
   "source": [
    "intro using the example of the quantile loss aka interval loss aka pinball loss, in the univariate case.\n",
    "\n",
    "For one quantile value $\\alpha$, the (per-sample) pinball loss function is defined as\\\n",
    "$L_{\\alpha}(\\widehat{y}, y) := \\alpha \\cdot \\Theta (y - \\widehat{y}) + (1-\\alpha) \\cdot \\Theta (\\widehat{y} - y)$,\\\n",
    "where $\\Theta (x) := [1$ if $x\\ge 0$ and $0$ otherwise $]$ is the Heaviside function.\n",
    "\n",
    "This can be used to evaluate:\n",
    "\n",
    "* *multiple quantile* forecasts $\\widehat{\\bf y}:=\\widehat{y}_1, \\dots, \\widehat{y}_k$ for quantiles $\\bm{\\alpha} = \\alpha_1,\\dots, \\alpha_k$ via\\\n",
    "$L_{\\bm{\\alpha}}(\\widehat{\\bf y}, y) := \\frac{1}{k}\\sum_{i=1}^k L_{\\alpha_i}(\\widehat{y}_i, y)$\n",
    "* *interval forecasts* $[\\widehat{a}, \\widehat{b}]$ at symmetric coverage $c$ via\\\n",
    "$L_c([\\widehat{a},\\widehat{b}], y) := \\frac{1}{2} L_{\\alpha_{low}}(\\widehat{a}, y) + \\frac{1}{2}L_{\\alpha_{high}}(\\widehat{b}, y)$ where $\\alpha_{low} = \\frac{1-c}{2}, \\alpha_{high} = \\frac{1+c}{2}$\n",
    "\n",
    "(all are known to be strictly proper losses for their respective prediction object)\n",
    "\n",
    "There are *three things we can choose to average over*:\n",
    "\n",
    "* quantile values, if multiple are predicted - elements of `alpha` in `predict_interval(fh, alpha)`\n",
    "* time stamps in the forecasting horizon `fh` - elements of `fh` in `fit(fh)` resp `predict_interval(fh, alpha)`\n",
    "* variables in `y`, in case of multivariate (later, first we look at univariate)\n",
    "\n",
    "We will show quantile values and time stamps first:\n",
    "\n",
    "1. averaging by `fh` time stamps only -> one number per quantile value in `alpha`\n",
    "\n",
    "2. averaging over nothing -> one number per quantile value in `alpha` and `fh` time stamp\n",
    "\n",
    "3. averaging over both `fh` and quantile values in `alpha` -> one number\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "49c020c0",
   "metadata": {},
   "source": [
    "first, generating some quantile predictions.\n",
    "`pred_quantiles` now contains quantile forecasts\\\n",
    "formally, forecasts $\\widehat{y}_j(t_i)$ where $\\widehat{y_j}$ are forecasts at quantile $\\alpha_j$, with range $i=1\\dots N, j=1\\dots k$\\\n",
    "$\\alpha_j$ are the elements of `alpha`, and $t_i$ are the future time stamps indexed by `fh`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "660fc4ef",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"5\" halign=\"left\">Number of airline passengers</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>0.10</th>\n",
       "      <th>0.25</th>\n",
       "      <th>0.50</th>\n",
       "      <th>0.75</th>\n",
       "      <th>0.90</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1951-01</th>\n",
       "      <td>127.478982</td>\n",
       "      <td>130.438212</td>\n",
       "      <td>133.726132</td>\n",
       "      <td>137.014051</td>\n",
       "      <td>139.973281</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-02</th>\n",
       "      <td>137.638273</td>\n",
       "      <td>141.120018</td>\n",
       "      <td>144.988491</td>\n",
       "      <td>148.856963</td>\n",
       "      <td>152.338709</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-03</th>\n",
       "      <td>152.276580</td>\n",
       "      <td>156.212068</td>\n",
       "      <td>160.584681</td>\n",
       "      <td>164.957294</td>\n",
       "      <td>168.892782</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-04</th>\n",
       "      <td>143.405971</td>\n",
       "      <td>147.748041</td>\n",
       "      <td>152.572397</td>\n",
       "      <td>157.396752</td>\n",
       "      <td>161.738823</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-05</th>\n",
       "      <td>130.762062</td>\n",
       "      <td>135.475775</td>\n",
       "      <td>140.713052</td>\n",
       "      <td>145.950329</td>\n",
       "      <td>150.664042</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-06</th>\n",
       "      <td>155.995358</td>\n",
       "      <td>161.053480</td>\n",
       "      <td>166.673421</td>\n",
       "      <td>172.293362</td>\n",
       "      <td>177.351484</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-07</th>\n",
       "      <td>170.413964</td>\n",
       "      <td>175.794494</td>\n",
       "      <td>181.772655</td>\n",
       "      <td>187.750815</td>\n",
       "      <td>193.131346</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-08</th>\n",
       "      <td>169.718562</td>\n",
       "      <td>175.403245</td>\n",
       "      <td>181.719341</td>\n",
       "      <td>188.035437</td>\n",
       "      <td>193.720120</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-09</th>\n",
       "      <td>154.000332</td>\n",
       "      <td>159.973701</td>\n",
       "      <td>166.610547</td>\n",
       "      <td>173.247393</td>\n",
       "      <td>179.220762</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-10</th>\n",
       "      <td>132.362640</td>\n",
       "      <td>138.611371</td>\n",
       "      <td>145.554166</td>\n",
       "      <td>152.496960</td>\n",
       "      <td>158.745692</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-11</th>\n",
       "      <td>113.464721</td>\n",
       "      <td>119.977182</td>\n",
       "      <td>127.213000</td>\n",
       "      <td>134.448818</td>\n",
       "      <td>140.961280</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-12</th>\n",
       "      <td>129.690414</td>\n",
       "      <td>136.456333</td>\n",
       "      <td>143.973761</td>\n",
       "      <td>151.491189</td>\n",
       "      <td>158.257109</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        Number of airline passengers                                      \\\n",
       "                                0.10        0.25        0.50        0.75   \n",
       "1951-01                   127.478982  130.438212  133.726132  137.014051   \n",
       "1951-02                   137.638273  141.120018  144.988491  148.856963   \n",
       "1951-03                   152.276580  156.212068  160.584681  164.957294   \n",
       "1951-04                   143.405971  147.748041  152.572397  157.396752   \n",
       "1951-05                   130.762062  135.475775  140.713052  145.950329   \n",
       "1951-06                   155.995358  161.053480  166.673421  172.293362   \n",
       "1951-07                   170.413964  175.794494  181.772655  187.750815   \n",
       "1951-08                   169.718562  175.403245  181.719341  188.035437   \n",
       "1951-09                   154.000332  159.973701  166.610547  173.247393   \n",
       "1951-10                   132.362640  138.611371  145.554166  152.496960   \n",
       "1951-11                   113.464721  119.977182  127.213000  134.448818   \n",
       "1951-12                   129.690414  136.456333  143.973761  151.491189   \n",
       "\n",
       "                     \n",
       "               0.90  \n",
       "1951-01  139.973281  \n",
       "1951-02  152.338709  \n",
       "1951-03  168.892782  \n",
       "1951-04  161.738823  \n",
       "1951-05  150.664042  \n",
       "1951-06  177.351484  \n",
       "1951-07  193.131346  \n",
       "1951-08  193.720120  \n",
       "1951-09  179.220762  \n",
       "1951-10  158.745692  \n",
       "1951-11  140.961280  \n",
       "1951-12  158.257109  "
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import numpy as np\n",
    "\n",
    "from sktime.datasets import load_airline\n",
    "from sktime.forecasting.theta import ThetaForecaster\n",
    "\n",
    "y_train = load_airline()[0:24]  # train on 24 months, 1949 and 1950\n",
    "y_test = load_airline()[24:36]  # ground truth for 12 months in 1951\n",
    "\n",
    "# try to forecast 12 months ahead, from y_train\n",
    "fh = np.arange(1, 13)\n",
    "\n",
    "forecaster = ThetaForecaster(sp=12)\n",
    "forecaster.fit(y_train, fh=fh)\n",
    "\n",
    "pred_quantiles = forecaster.predict_quantiles(alpha=[0.1, 0.25, 0.5, 0.75, 0.9])\n",
    "pred_quantiles"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ca086cc1",
   "metadata": {},
   "source": [
    "1. computing the loss by quantile point or interval end, averaged over `fh` time stamps\\\n",
    "i.e., $\\frac{1}{N} \\sum_{i=1}^N L_{\\alpha}(\\widehat{y}(t_i), y(t_i))$ for $t_i$ in the `fh`, and every `alpha`,\n",
    "this is one number per quantile value in `alpha`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "induced-shakespeare",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.10    2.706601\n",
       "0.25    5.494502\n",
       "0.50    8.162432\n",
       "0.75    8.003790\n",
       "0.90    5.220235\n",
       "Name: 0, dtype: float64"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sktime.performance_metrics.forecasting.probabilistic import PinballLoss\n",
    "\n",
    "loss = PinballLoss(score_average=False)\n",
    "loss(y_true=y_test, y_pred=pred_quantiles)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b4537b68",
   "metadata": {},
   "source": [
    "2. computing the the individual loss values, by sample, no averaging,\\\n",
    "i.e., $L_{\\alpha}(\\widehat{y}(t_i), y(t_i))$ for every $t_i$ in `fh` and every $\\alpha$ in `alpha`\\\n",
    "this is one number per quantile value $\\alpha$ in `alpha` and time point $t_i$ in `fh`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "c033800d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0.10</th>\n",
       "      <th>0.25</th>\n",
       "      <th>0.50</th>\n",
       "      <th>0.75</th>\n",
       "      <th>0.90</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1.752102</td>\n",
       "      <td>3.640447</td>\n",
       "      <td>5.636934</td>\n",
       "      <td>5.989462</td>\n",
       "      <td>4.524047</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1.236173</td>\n",
       "      <td>2.219995</td>\n",
       "      <td>2.505755</td>\n",
       "      <td>0.857278</td>\n",
       "      <td>0.233871</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2.572342</td>\n",
       "      <td>5.446983</td>\n",
       "      <td>8.707660</td>\n",
       "      <td>9.782030</td>\n",
       "      <td>8.196497</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1.959403</td>\n",
       "      <td>3.812990</td>\n",
       "      <td>5.213802</td>\n",
       "      <td>4.202436</td>\n",
       "      <td>1.135059</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4.123794</td>\n",
       "      <td>9.131056</td>\n",
       "      <td>15.643474</td>\n",
       "      <td>19.537253</td>\n",
       "      <td>19.202362</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>2.200464</td>\n",
       "      <td>4.236630</td>\n",
       "      <td>5.663290</td>\n",
       "      <td>4.279979</td>\n",
       "      <td>0.583664</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>2.858604</td>\n",
       "      <td>5.801376</td>\n",
       "      <td>8.613673</td>\n",
       "      <td>8.436889</td>\n",
       "      <td>5.281789</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>2.928144</td>\n",
       "      <td>5.899189</td>\n",
       "      <td>8.640329</td>\n",
       "      <td>8.223422</td>\n",
       "      <td>4.751892</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>2.999967</td>\n",
       "      <td>6.006575</td>\n",
       "      <td>8.694726</td>\n",
       "      <td>8.064455</td>\n",
       "      <td>4.301314</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>2.963736</td>\n",
       "      <td>5.847157</td>\n",
       "      <td>8.222917</td>\n",
       "      <td>7.127280</td>\n",
       "      <td>2.928877</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>3.253528</td>\n",
       "      <td>6.505704</td>\n",
       "      <td>9.393500</td>\n",
       "      <td>8.663387</td>\n",
       "      <td>4.534848</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>3.630959</td>\n",
       "      <td>7.385917</td>\n",
       "      <td>11.013119</td>\n",
       "      <td>10.881608</td>\n",
       "      <td>6.968602</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        0.10      0.25       0.50       0.75       0.90\n",
       "0   1.752102  3.640447   5.636934   5.989462   4.524047\n",
       "1   1.236173  2.219995   2.505755   0.857278   0.233871\n",
       "2   2.572342  5.446983   8.707660   9.782030   8.196497\n",
       "3   1.959403  3.812990   5.213802   4.202436   1.135059\n",
       "4   4.123794  9.131056  15.643474  19.537253  19.202362\n",
       "5   2.200464  4.236630   5.663290   4.279979   0.583664\n",
       "6   2.858604  5.801376   8.613673   8.436889   5.281789\n",
       "7   2.928144  5.899189   8.640329   8.223422   4.751892\n",
       "8   2.999967  6.006575   8.694726   8.064455   4.301314\n",
       "9   2.963736  5.847157   8.222917   7.127280   2.928877\n",
       "10  3.253528  6.505704   9.393500   8.663387   4.534848\n",
       "11  3.630959  7.385917  11.013119  10.881608   6.968602"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "loss.evaluate_by_index(y_true=y_test, y_pred=pred_quantiles)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1bf5aac3",
   "metadata": {},
   "source": [
    "3. computing the loss for a multiple quantile forecast, averaged over `fh` time stamps and quantile values `alpha`\\\n",
    "i.e., $\\frac{1}{Nk} \\sum_{j=1}^k\\sum_{i=1}^N L_{\\alpha_j}(\\widehat{y_j}(t_i), y(t_i))$ for $t_i$ in `fh`, and quantile values $\\alpha_j$,\\\n",
    "this is a single number that can be used in tuning (e.g., grid search) or evaluation overall"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "97479196",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "5.917511873790087"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sktime.performance_metrics.forecasting.probabilistic import PinballLoss\n",
    "\n",
    "loss_multi = PinballLoss(score_average=True)\n",
    "loss_multi(y_true=y_test, y_pred=pred_quantiles)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "759cc7f8",
   "metadata": {},
   "source": [
    "4. computing the loss for a multiple quantile forecast, averaged quantile values `alpha`, for individual time stamps\\\n",
    "i.e., $\\frac{1}{k} \\sum_{j=1}^k L_{\\alpha_j}(\\widehat{y_j}(t_i), y(t_i))$ for $t_i$ in `fh`, and quantile values $\\alpha_j$,\\\n",
    "this is a univariate time series at `fh` times $t_i$, it can be used for tuning or evaluation by horizon index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "16a6d687",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0      4.308598\n",
       "1      1.410614\n",
       "2      6.941102\n",
       "3      3.264738\n",
       "4     13.527588\n",
       "5      3.392805\n",
       "6      6.198466\n",
       "7      6.088595\n",
       "8      6.013407\n",
       "9      5.417993\n",
       "10     6.470193\n",
       "11     7.976041\n",
       "dtype: float64"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "loss_multi.evaluate_by_index(y_true=y_test, y_pred=pred_quantiles)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "68c94017",
   "metadata": {},
   "source": [
    "Question: why is `score_average` a constructor flag, and `evaluate_by_index` a method?\n",
    "\n",
    "* not all losses are \"by index\", so `evaluate_by_index` logic can vary (e.g., pseudo-samples)\n",
    "* constructor args define \"mathematical object\" of scientific signature: series -> non-temporal object\\\n",
    "methods define action or \"way to apply\", e.g., as used in tuning or reporting\n",
    "\n",
    "Compare `score_average` to `multioutput` arg in `scikit-learn` metrics and `sktime`."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d15ecf62",
   "metadata": {},
   "source": [
    "#### metrics: interval vs quantile metrics"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9e18fcf9",
   "metadata": {},
   "source": [
    "Interval and quantile metrics can be used interchangeably:\n",
    "\n",
    "internally, these are easily convertible to each other\\\n",
    "recall: lower/upper interval = quantiles at $\\frac{1}{2} \\pm \\frac{1}2$ `coverage`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "c7d0df6d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">Number of airline passengers</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">0.8</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>lower</th>\n",
       "      <th>upper</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1951-01</th>\n",
       "      <td>127.478982</td>\n",
       "      <td>139.973281</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-02</th>\n",
       "      <td>137.638273</td>\n",
       "      <td>152.338709</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-03</th>\n",
       "      <td>152.276580</td>\n",
       "      <td>168.892782</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-04</th>\n",
       "      <td>143.405971</td>\n",
       "      <td>161.738823</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-05</th>\n",
       "      <td>130.762062</td>\n",
       "      <td>150.664042</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-06</th>\n",
       "      <td>155.995358</td>\n",
       "      <td>177.351484</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-07</th>\n",
       "      <td>170.413964</td>\n",
       "      <td>193.131346</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-08</th>\n",
       "      <td>169.718562</td>\n",
       "      <td>193.720120</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-09</th>\n",
       "      <td>154.000332</td>\n",
       "      <td>179.220762</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-10</th>\n",
       "      <td>132.362640</td>\n",
       "      <td>158.745692</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-11</th>\n",
       "      <td>113.464721</td>\n",
       "      <td>140.961280</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-12</th>\n",
       "      <td>129.690414</td>\n",
       "      <td>158.257109</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        Number of airline passengers            \n",
       "                                 0.8            \n",
       "                               lower       upper\n",
       "1951-01                   127.478982  139.973281\n",
       "1951-02                   137.638273  152.338709\n",
       "1951-03                   152.276580  168.892782\n",
       "1951-04                   143.405971  161.738823\n",
       "1951-05                   130.762062  150.664042\n",
       "1951-06                   155.995358  177.351484\n",
       "1951-07                   170.413964  193.131346\n",
       "1951-08                   169.718562  193.720120\n",
       "1951-09                   154.000332  179.220762\n",
       "1951-10                   132.362640  158.745692\n",
       "1951-11                   113.464721  140.961280\n",
       "1951-12                   129.690414  158.257109"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pred_interval = forecaster.predict_interval(coverage=0.8)\n",
    "pred_interval"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6142c0af",
   "metadata": {},
   "source": [
    "loss object recognizes input type automatically and computes corresponding interval loss"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "4857f09d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.1    2.706601\n",
       "0.9    5.220235\n",
       "Name: 0, dtype: float64"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "loss(y_true=y_test, y_pred=pred_interval)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "fa588117",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "3.9634182197580174"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "loss_multi(y_true=y_test, y_pred=pred_interval)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5dac797f",
   "metadata": {},
   "source": [
    "#### evaluation by backtesting"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "15e0f857",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>test_PinballLoss</th>\n",
       "      <th>fit_time</th>\n",
       "      <th>pred_quantiles_time</th>\n",
       "      <th>len_train_window</th>\n",
       "      <th>cutoff</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.865788</td>\n",
       "      <td>0.004671</td>\n",
       "      <td>0.002910</td>\n",
       "      <td>72</td>\n",
       "      <td>1954-12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.958340</td>\n",
       "      <td>0.003195</td>\n",
       "      <td>0.003149</td>\n",
       "      <td>84</td>\n",
       "      <td>1955-12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.981744</td>\n",
       "      <td>0.003315</td>\n",
       "      <td>0.002972</td>\n",
       "      <td>96</td>\n",
       "      <td>1956-12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1.411309</td>\n",
       "      <td>0.003242</td>\n",
       "      <td>0.003038</td>\n",
       "      <td>108</td>\n",
       "      <td>1957-12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1.187198</td>\n",
       "      <td>0.003085</td>\n",
       "      <td>0.002992</td>\n",
       "      <td>120</td>\n",
       "      <td>1958-12</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   test_PinballLoss  fit_time  pred_quantiles_time  len_train_window   cutoff\n",
       "0          0.865788  0.004671             0.002910                72  1954-12\n",
       "1          0.958340  0.003195             0.003149                84  1955-12\n",
       "2          0.981744  0.003315             0.002972                96  1956-12\n",
       "3          1.411309  0.003242             0.003038               108  1957-12\n",
       "4          1.187198  0.003085             0.002992               120  1958-12"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sktime.datasets import load_airline\n",
    "from sktime.forecasting.model_evaluation import evaluate\n",
    "from sktime.forecasting.theta import ThetaForecaster\n",
    "from sktime.performance_metrics.forecasting.probabilistic import PinballLoss\n",
    "from sktime.split import ExpandingWindowSplitter\n",
    "\n",
    "# 1. define data\n",
    "y = load_airline()\n",
    "\n",
    "# 2. define splitting/backtesting regime\n",
    "fh = [1, 2, 3]\n",
    "cv = ExpandingWindowSplitter(step_length=12, fh=fh, initial_window=72)\n",
    "\n",
    "# 3. define loss to use\n",
    "loss = PinballLoss()\n",
    "# default is score_average=True and multi_output=\"uniform_average\", so gives a number\n",
    "\n",
    "forecaster = ThetaForecaster(sp=12)\n",
    "results = evaluate(\n",
    "    forecaster=forecaster, y=y, cv=cv, strategy=\"refit\", return_data=True, scoring=loss\n",
    ")\n",
    "results.iloc[:, :5].head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d2b98ad3",
   "metadata": {},
   "source": [
    "* each row is one train/test split in the walkforward setting\n",
    "* first col is the loss on the test fold\n",
    "* last two columns summarize length of training window, cutoff between train/test"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4d3ab695",
   "metadata": {},
   "source": [
    "roadmap items:\n",
    "\n",
    "implementing further metrics\n",
    "\n",
    "* distribution prediction metrics - may need tfp extension\n",
    "* advanced evaluation set-ups\n",
    "* variance loss\n",
    "\n",
    "contributions are appreciated!"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Visual Evaluation \n",
    "\n",
    "Often, the probabilistic forecast's calibration is important. I.e., how many values are smaller then the 0.1 quantile, 0.2 quantile, etc.\n",
    "\n",
    "This evaluation can be made using calibration plots:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(<Figure size 1600x400 with 1 Axes>, <Axes: >)"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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paWl6bnnnutU09zcrHvvvVcZGRmKjIzU+PHjtWLFivbPHz16VDfccIMyMjIUERGhyy67TL/73e+61cf8+fP1z3/+U8uXL9cdd9yhUaNG6YILLtC0adO0du1aDRkyRJK0bNkyFRYWKjY2VgkJCfra176mPXv2nPHrrlixQg6Ho9Ntx++9956GDBmisLAwTZkyRfv372//3KOPPqpRo0bp17/+tfLy8hQWFtal187LM/+lYPTo0XI4HLriiiskmdOc1113nd+P549//GMlJycrLCxMhYWFWr9+faeely9frrFjxyoiIkKTJk3Szp07u/VjCgAAAADAabU0maHgiqelxV+TnsqWXr9a+r8npH3/MIPCiARp2Nelq5+Vfrhaum+PdP1vpAm3S6nDCQo/R0Nzq363rkySNKOAqcKuCrzJQsPoPJLbW4IjJIfjnJ5633336R//+If+/Oc/Kzk5WQ888IA2bdrkN8V355136tNPP9WSJUuUnp6uP/3pT/rqV7+qbdu2aciQIWpqatKYMWM0e/ZsRUdHa+nSpbrppps0ePBg5efnd6mP3/72t5o8ebJGjx7d+e0FB7ffgtzQ0KBZs2ZpxIgRqq+v19y5c/WNb3xDW7ZskbOLv1A1NjbqiSee0JtvvqmQkBD96Ec/0ve+9z2VlJS01+zevVvvvPOO3n33Xblcri699rp165Sfn6+//e1vuvTSS884jfjTn/5U77zzjt544w3l5OTomWee0ZQpU7R7927Fx8e31z344IN67rnnlJSUpNtvv10zZszw6xEAAAAAgC5paZIOrO+YHDywXvI2+9dEJvmfOZg09JyzhoHunU0HVNfUqrzESF15cbLd7fQbgRcWtjRKT6bb89oPHJRCIrv9tPr6ei1cuFC/+c1vdNVVV0mS3njjDWVmZrbXlJWV6fXXX1dZWZnS0833d++992rZsmV6/fXX9eSTTyojI0P33ntv+3PuuusuffDBB/r973/f5bDws88+a5/E+zzf+ta3/D5etGiRkpKS9Omnn2r48OFdeq2Wlha9/PLLGj9+vCTzPQ8bNqw97JPMW4/ffPNNJSUldfm122oTEhLOeOtzQ0ODXn31VS1evFhXX321JGnBggX68MMPtXDhQt13333ttU888YS+9KUvSZLmzJmja6+9Vk1NTe2TjgAAAAAAnFbLCfNWYnexua34wHrJ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eb3e3mobCCjnch1OmjRJGzdubL9Vee/evXr//fd1zTXX9ErPwEA3kLOZILsbCHRVVVXyer1KSUnxezwlJUU7duw47XMqKipOW19RUdFjfQKB6lyuwVPNnj1b6enpnX6jANA153IdFhcXa+HChdqyZUsvdAgEtnO5Bvfu3au///3vuvHGG/X+++9r9+7d+tGPfqSWlhY98sgjvdE2EFDO5TqcNm2aqqqqVFhYKMMw1Nraqttvv53bkIFecqZspra2VidOnFB4eLhNnfU8JgsB4HM89dRTWrJkif70pz8pLCzM7naAAaGurk433XSTFixYoMTERLvbAQYkn8+n5ORk/epXv9KYMWN0/fXX68EHH+RIHKAXrVixQk8++aT+4z/+Q5s2bdK7776rpUuX6vHHH7e7NQABjsnCHpaYmCiXy6XKykq/xysrK5Wamnra56SmpnarHsCZncs12OYXv/iFnnrqKf3tb3/TiBEjerJNIKB19zrcs2eP3G63pk6d2v6Yz+eTJAUFBWnnzp0aPHhwzzYNBJBz+b0wLS1NwcHBcrlc7Y8NGzZMFRUV8ng8CgkJ6dGegUBzLtfhww8/rJtuukm33XabJOmyyy5TQ0ODfvCDH+jBBx+U08nsD9CTzpTNREdHB/RUocRkYY8LCQnRmDFj/A6l9fl8Wr58uSZOnHja50ycONGvXpI+/PDDM9YDOLNzuQYl6ZlnntHjjz+uZcuWaezYsb3RKhCwunsdDh06VNu2bdOWLVvav339619v30SXlZXVm+0D/d65/F5YUFCg3bt3twf1krRr1y6lpaURFALn4Fyuw8bGxk6BYFuAz55SoOcN6GzGQI9bsmSJERoaaixevNj49NNPjR/84AdGbGysUVFRYRiGYdx0003GnDlz2utLSkqMoKAg4xe/+IWxfft245FHHjGCg4ONbdu22fUWgH6tu9fgU089ZYSEhBh//OMfjUOHDrV/q6urs+stAP1ed6/DU918883Gv/7rv/ZSt0Dg6e41WFZWZkRFRRl33nmnsXPnTuOvf/2rkZycbPz85z+36y0A/V53r8NHHnnEiIqKMn73u98Ze/fuNf73f//XGDx4sPHd737XrrcA9Gt1dXXG5s2bjc2bNxuSjOeff97YvHmzUVpaahiGYcyZM8e46aab2uv37t1rREREGPfdd5+xfft245VXXjFcLpexbNkyu95Cr+E25F5w/fXX68iRI5o7d64qKio0atQoLVu2rP2gzLKyMr9/MZo0aZLeeustPfTQQ3rggQc0ZMgQvffeexo+fLhdbwHo17p7Db766qvyeDz69re/7fd1HnnkET366KO92ToQMLp7HQI4v7p7DWZlZemDDz7QPffcoxEjRigjI0M/+clPNHv2bLveAtDvdfc6fOihh+RwOPTQQw+pvLxcSUlJmjp1qp544gm73gLQr23YsEFXXnll+8ezZs2SJN18881avHixDh06pLKysvbP5+XlaenSpbrnnnv04osvKjMzU7/+9a81ZcqUXu+9tzkMg/llAAAAAAAAAJxZCAAAAAAAAMBCWAgAAAAAAABAEmEhAAAAAAAAAAthIQAAAAAAAABJhIUAAAAAAAAALISFAAAAAAAAACQRFgIAAAAAAACwEBYCAAAAAAAAkERYCAAAAAAAAMBCWAgAAAAAAABAEmEhAAAAAAAAAMv/D4YQzapsrj4pAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 1600x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sktime.utils.plotting import plot_calibration\n",
    "\n",
    "plot_calibration(y_true=y_test.loc[pred_quantiles.index], y_pred=pred_quantiles)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "public-union",
   "metadata": {},
   "source": [
    "---\n",
    "### Advanced composition: pipelines, tuning, reduction, adding proba forecasts to any estimator\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "02d2367c",
   "metadata": {},
   "source": [
    "composition = constructing \"composite\" estimators out of multiple \"component\" estimators\n",
    "\n",
    "* **reduction** = building estimator type A using estimator type B\n",
    "    * special case: adding proba forecasting capability to non-proba forecaster\n",
    "    * special case: using proba supervised learner for  proba forecasting\n",
    "* **pipelining** = chaining estimators, here: transformers to a forecaster\n",
    "* **tuning** = automated hyper-parameter fitting, usually via internal evaluation loop\n",
    "    * special case: grid parameter search and random parameter search tuning\n",
    "    * special case: \"Auto-ML\", optimizing not just estimator hyper-parameter but also choice of estimator"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "88e72a7e",
   "metadata": {},
   "source": [
    "#### Adding probabilistic forecasts to non-probabilistic forecasters"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ea37cf77",
   "metadata": {},
   "source": [
    "start with a forecaster that does not produce probabilistic predictions:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "6abda0ed",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "False"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sktime.forecasting.exp_smoothing import ExponentialSmoothing\n",
    "\n",
    "my_forecaster = ExponentialSmoothing()\n",
    "\n",
    "# does the forecaster support probabilistic predictions?\n",
    "my_forecaster.get_tag(\"capability:pred_int\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0cd78bfe",
   "metadata": {},
   "source": [
    "adding probabilistic predictions is possible via reduction wrappers:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "60b0664a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# NaiveVariance adds intervals & variance via collecting past residuals\n",
    "from sktime.forecasting.naive import NaiveVariance\n",
    "\n",
    "# create a composite forecaster like this:\n",
    "my_forecaster_with_proba = NaiveVariance(my_forecaster)\n",
    "\n",
    "# does it support probabilistic predictions now?\n",
    "my_forecaster_with_proba.get_tag(\"capability:pred_int\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8a47135c",
   "metadata": {},
   "source": [
    "the composite can now be used like any probabilistic forecaster:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "id": "99e6bc89",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">Number of airline passengers</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">0.9</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>lower</th>\n",
       "      <th>upper</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1961-01</th>\n",
       "      <td>341.960792</td>\n",
       "      <td>522.039207</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-02</th>\n",
       "      <td>319.835453</td>\n",
       "      <td>544.164546</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961-03</th>\n",
       "      <td>307.334056</td>\n",
       "      <td>556.665943</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        Number of airline passengers            \n",
       "                                 0.9            \n",
       "                               lower       upper\n",
       "1961-01                   341.960792  522.039207\n",
       "1961-02                   319.835453  544.164546\n",
       "1961-03                   307.334056  556.665943"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y = load_airline()\n",
    "\n",
    "my_forecaster_with_proba.fit(y, fh=[1, 2, 3])\n",
    "my_forecaster_with_proba.predict_interval()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "64e6326f",
   "metadata": {},
   "source": [
    "roadmap items:\n",
    "\n",
    "more compositors to enable probabilistic forecasting\n",
    "\n",
    "* bootstrap forecast intervals\n",
    "* reduction to probabilistic supervised learning\n",
    "* popular \"add probabilistic capability\" wrappers\n",
    "\n",
    "contributions are appreciated!"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "outstanding-campus",
   "metadata": {},
   "source": [
    "#### Tuning and AutoML "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4e913454",
   "metadata": {},
   "source": [
    "tuning and autoML with probabilistic forecasters works exactly like with \"ordinary\" forecasters\\\n",
    "via `ForecastingGridSearchCV` or `ForecastingRandomSearchCV`\n",
    "\n",
    "* change metric to tune to a probabilistic metric\n",
    "* use a corresponding probabilistic metric or loss function\n",
    "\n",
    "Internally, evaluation will be done using probabilistic metric, via backtesting evaluation.\n",
    "\n",
    "**important**: to evaluate the tuned estimator, use it in `evaluate` or a separate benchmarking workflow.\\\n",
    "Using internal metric/loss values amounts to in-sample evaluation, which is over-optimistic."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "difficult-belarus",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sktime.forecasting.model_selection import ForecastingGridSearchCV\n",
    "from sktime.forecasting.theta import ThetaForecaster\n",
    "from sktime.performance_metrics.forecasting.probabilistic import PinballLoss\n",
    "from sktime.split import SlidingWindowSplitter\n",
    "\n",
    "# forecaster we want to tune\n",
    "forecaster = ThetaForecaster()\n",
    "\n",
    "# parameter grid to search over\n",
    "param_grid = {\"sp\": [1, 6, 12]}\n",
    "\n",
    "# evaluation/backtesting regime for *tuning*\n",
    "fh = [1, 2, 3]  # fh for tuning regime, does not need to be same as in fit/predict!\n",
    "cv = SlidingWindowSplitter(window_length=36, fh=fh)\n",
    "scoring = PinballLoss()\n",
    "\n",
    "# construct the composite forecaster with grid search compositor\n",
    "gscv = ForecastingGridSearchCV(\n",
    "    forecaster, cv=cv, param_grid=param_grid, scoring=scoring, strategy=\"refit\"\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "id": "562b301e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style>#sk-6648d0d2-8b27-4abf-ad8b-a038b4f6e935 {color: black;background-color: white;}#sk-6648d0d2-8b27-4abf-ad8b-a038b4f6e935 pre{padding: 0;}#sk-6648d0d2-8b27-4abf-ad8b-a038b4f6e935 div.sk-toggleable {background-color: white;}#sk-6648d0d2-8b27-4abf-ad8b-a038b4f6e935 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-6648d0d2-8b27-4abf-ad8b-a038b4f6e935 label.sk-toggleable__label-arrow:before {content: \"▸\";float: left;margin-right: 0.25em;color: #696969;}#sk-6648d0d2-8b27-4abf-ad8b-a038b4f6e935 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-6648d0d2-8b27-4abf-ad8b-a038b4f6e935 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-6648d0d2-8b27-4abf-ad8b-a038b4f6e935 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-6648d0d2-8b27-4abf-ad8b-a038b4f6e935 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-6648d0d2-8b27-4abf-ad8b-a038b4f6e935 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-6648d0d2-8b27-4abf-ad8b-a038b4f6e935 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: \"▾\";}#sk-6648d0d2-8b27-4abf-ad8b-a038b4f6e935 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-6648d0d2-8b27-4abf-ad8b-a038b4f6e935 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-6648d0d2-8b27-4abf-ad8b-a038b4f6e935 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-6648d0d2-8b27-4abf-ad8b-a038b4f6e935 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-6648d0d2-8b27-4abf-ad8b-a038b4f6e935 div.sk-estimator:hover {background-color: #d4ebff;}#sk-6648d0d2-8b27-4abf-ad8b-a038b4f6e935 div.sk-parallel-item::after {content: \"\";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-6648d0d2-8b27-4abf-ad8b-a038b4f6e935 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-6648d0d2-8b27-4abf-ad8b-a038b4f6e935 div.sk-serial::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 2em;bottom: 0;left: 50%;}#sk-6648d0d2-8b27-4abf-ad8b-a038b4f6e935 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;}#sk-6648d0d2-8b27-4abf-ad8b-a038b4f6e935 div.sk-item {z-index: 1;}#sk-6648d0d2-8b27-4abf-ad8b-a038b4f6e935 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;}#sk-6648d0d2-8b27-4abf-ad8b-a038b4f6e935 div.sk-parallel::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 2em;bottom: 0;left: 50%;}#sk-6648d0d2-8b27-4abf-ad8b-a038b4f6e935 div.sk-parallel-item {display: flex;flex-direction: column;position: relative;background-color: white;}#sk-6648d0d2-8b27-4abf-ad8b-a038b4f6e935 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-6648d0d2-8b27-4abf-ad8b-a038b4f6e935 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-6648d0d2-8b27-4abf-ad8b-a038b4f6e935 div.sk-parallel-item:only-child::after {width: 0;}#sk-6648d0d2-8b27-4abf-ad8b-a038b4f6e935 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;position: relative;}#sk-6648d0d2-8b27-4abf-ad8b-a038b4f6e935 div.sk-label label {font-family: monospace;font-weight: bold;background-color: white;display: inline-block;line-height: 1.2em;}#sk-6648d0d2-8b27-4abf-ad8b-a038b4f6e935 div.sk-label-container {position: relative;z-index: 2;text-align: center;}#sk-6648d0d2-8b27-4abf-ad8b-a038b4f6e935 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-6648d0d2-8b27-4abf-ad8b-a038b4f6e935 div.sk-text-repr-fallback {display: none;}</style><div id='sk-6648d0d2-8b27-4abf-ad8b-a038b4f6e935' class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>ForecastingGridSearchCV(cv=SlidingWindowSplitter(fh=[1, 2, 3],\n",
       "                                                 window_length=36),\n",
       "                        forecaster=ThetaForecaster(),\n",
       "                        param_grid={&#x27;sp&#x27;: [1, 6, 12]}, scoring=PinballLoss())</pre><b>Please rerun this cell to show the HTML repr or trust the notebook.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item sk-dashed-wrapped\"><div class='sk-label-container'><div class=\"sk-label sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=UUID('5eb0427b-8e34-4027-8226-bf4b7929717e') type=\"checkbox\" ><label for=UUID('5eb0427b-8e34-4027-8226-bf4b7929717e') class='sk-toggleable__label sk-toggleable__label-arrow'>ForecastingGridSearchCV</label><div class=\"sk-toggleable__content\"><pre>ForecastingGridSearchCV(cv=SlidingWindowSplitter(fh=[1, 2, 3],\n",
       "                                                 window_length=36),\n",
       "                        forecaster=ThetaForecaster(),\n",
       "                        param_grid={&#x27;sp&#x27;: [1, 6, 12]}, scoring=PinballLoss())</pre></div></div></div><div class=\"sk-parallel\"><div class=\"sk-parallel-item\"><div class=\"sk-item\"><div class=\"sk-serial\"><div class='sk-item'><div class=\"sk-estimator sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=UUID('21d23b04-8b92-4647-828b-a38d62f12de7') type=\"checkbox\" ><label for=UUID('21d23b04-8b92-4647-828b-a38d62f12de7') class='sk-toggleable__label sk-toggleable__label-arrow'>SlidingWindowSplitter</label><div class=\"sk-toggleable__content\"><pre>SlidingWindowSplitter(fh=[1, 2, 3], window_length=36)</pre></div></div></div></div></div></div><div class=\"sk-parallel-item\"><div class=\"sk-item\"><div class=\"sk-serial\"><div class='sk-item'><div class=\"sk-estimator sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=UUID('50d9faf8-d515-4ab7-a4d0-f337413ecd96') type=\"checkbox\" ><label for=UUID('50d9faf8-d515-4ab7-a4d0-f337413ecd96') class='sk-toggleable__label sk-toggleable__label-arrow'>ThetaForecaster</label><div class=\"sk-toggleable__content\"><pre>ThetaForecaster()</pre></div></div></div></div></div></div><div class=\"sk-parallel-item\"><div class=\"sk-item\"><div class=\"sk-serial\"><div class='sk-item'><div class=\"sk-estimator sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=UUID('32a30784-a4fc-472d-827d-c779193775f4') type=\"checkbox\" ><label for=UUID('32a30784-a4fc-472d-827d-c779193775f4') class='sk-toggleable__label sk-toggleable__label-arrow'>PinballLoss</label><div class=\"sk-toggleable__content\"><pre>PinballLoss()</pre></div></div></div></div></div></div></div></div></div></div>"
      ],
      "text/plain": [
       "ForecastingGridSearchCV(cv=SlidingWindowSplitter(fh=[1, 2, 3],\n",
       "                                                 window_length=36),\n",
       "                        forecaster=ThetaForecaster(),\n",
       "                        param_grid={'sp': [1, 6, 12]}, scoring=PinballLoss())"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sktime.datasets import load_airline\n",
    "\n",
    "y = load_airline()[:60]\n",
    "\n",
    "gscv.fit(y, fh=fh)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "69a297df",
   "metadata": {},
   "source": [
    "inspect hyper-parameter fit obtained by tuning:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "id": "comparative-sampling",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'sp': 12}"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "gscv.best_params_"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ca5245bb",
   "metadata": {},
   "source": [
    "obtain predictions:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "id": "133d779e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">Number of airline passengers</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">0.9</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>lower</th>\n",
       "      <th>upper</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1954-01</th>\n",
       "      <td>190.832917</td>\n",
       "      <td>217.164705</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1954-02</th>\n",
       "      <td>195.638436</td>\n",
       "      <td>226.620355</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1954-03</th>\n",
       "      <td>221.947952</td>\n",
       "      <td>256.967883</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        Number of airline passengers            \n",
       "                                 0.9            \n",
       "                               lower       upper\n",
       "1954-01                   190.832917  217.164705\n",
       "1954-02                   195.638436  226.620355\n",
       "1954-03                   221.947952  256.967883"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "gscv.predict_interval()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a287cf6e",
   "metadata": {},
   "source": [
    "for AutoML, use the `MultiplexForecaster` to select among multiple forecasters:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "id": "differential-growth",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'selected_forecaster': 'naive'}"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sktime.forecasting.compose import MultiplexForecaster\n",
    "from sktime.forecasting.exp_smoothing import ExponentialSmoothing\n",
    "from sktime.forecasting.naive import NaiveForecaster, NaiveVariance\n",
    "\n",
    "forecaster = MultiplexForecaster(\n",
    "    forecasters=[\n",
    "        (\"naive\", NaiveForecaster(strategy=\"last\")),\n",
    "        (\"ets\", ExponentialSmoothing(trend=\"add\", sp=12)),\n",
    "    ],\n",
    ")\n",
    "\n",
    "forecaster_param_grid = {\"selected_forecaster\": [\"ets\", \"naive\"]}\n",
    "gscv = ForecastingGridSearchCV(forecaster, cv=cv, param_grid=forecaster_param_grid)\n",
    "\n",
    "gscv.fit(y)\n",
    "gscv.best_params_"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "severe-belize",
   "metadata": {},
   "source": [
    "#### Pipelines with probabilistic forecasters"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dd70b6a2",
   "metadata": {},
   "source": [
    "`sktime` pipelines are compatible with probabilistic forecasters:\n",
    "\n",
    "* `ForecastingPipeline` applies transformers to the exogeneous `X` argument before passing them to the forecaster\n",
    "* `TransformedTargetForecaster` transforms `y` and back-transforms forecasts, including interval or quantile forecasts"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3ce8b6f1",
   "metadata": {},
   "source": [
    "`ForecastingPipeline` takes a chain of transformers and forecasters, say,\n",
    "\n",
    "`[t1, t2, ..., tn, f]`,\n",
    "\n",
    "where `t[i]` are forecasters that pre-process, and `tp[i]` are forecasters that postprocess\n",
    "\n",
    "##### `fit(y, X, fh)` does:\n",
    "\n",
    "`X1 = t1.fit_transform(X)`\\\n",
    "`X2 = t2.fit_transform(X1)`\\\n",
    "etc\\\n",
    "`X[n] = t3.fit_transform(X[n-1])`\\\n",
    "\n",
    "`f.fit(y=y, x=X[n])`\n",
    "\n",
    "##### `predict_[sth](X, fh)` does:\n",
    "\n",
    "`X1 = t1.transform(X)`\\\n",
    "`X2 = t2.transform(X1)`\\\n",
    "etc\\\n",
    "`X[n] = t3.transform(X[n-1])`\n",
    "\n",
    "`f.predict_[sth](X=X[n], fh)`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "id": "dcab36a8",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sktime.datasets import load_macroeconomic\n",
    "from sktime.forecasting.arima import ARIMA\n",
    "from sktime.forecasting.compose import ForecastingPipeline\n",
    "from sktime.split import temporal_train_test_split\n",
    "from sktime.transformations.series.impute import Imputer"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "id": "610257c8",
   "metadata": {},
   "outputs": [],
   "source": [
    "data = load_macroeconomic()\n",
    "y = data[\"unemp\"]\n",
    "X = data.drop(columns=[\"unemp\"])\n",
    "\n",
    "y_train, y_test, X_train, X_test = temporal_train_test_split(y, X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "id": "1c04ef29",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">0</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">0.9</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>lower</th>\n",
       "      <th>upper</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Period</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1997Q1</th>\n",
       "      <td>5.042704</td>\n",
       "      <td>6.119990</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1997Q2</th>\n",
       "      <td>3.948564</td>\n",
       "      <td>5.235163</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1997Q3</th>\n",
       "      <td>3.887471</td>\n",
       "      <td>5.253592</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1997Q4</th>\n",
       "      <td>4.108211</td>\n",
       "      <td>5.506862</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1998Q1</th>\n",
       "      <td>4.501319</td>\n",
       "      <td>5.913611</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               0          \n",
       "             0.9          \n",
       "           lower     upper\n",
       "Period                    \n",
       "1997Q1  5.042704  6.119990\n",
       "1997Q2  3.948564  5.235163\n",
       "1997Q3  3.887471  5.253592\n",
       "1997Q4  4.108211  5.506862\n",
       "1998Q1  4.501319  5.913611"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "forecaster = ForecastingPipeline(\n",
    "    steps=[\n",
    "        (\"imputer\", Imputer(method=\"mean\")),\n",
    "        (\"forecaster\", ARIMA(suppress_warnings=True)),\n",
    "    ]\n",
    ")\n",
    "forecaster.fit(y=y_train, X=X_train, fh=X_test.index[:5])\n",
    "forecaster.predict_interval(X=X_test[:5])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0081f4b9",
   "metadata": {},
   "source": [
    "`TransformedTargetForecaster` takes a chain of transformers and forecasters, say,\n",
    "\n",
    "`[t1, t2, ..., tn, f, tp1, tp2, ..., tk]`,\n",
    "\n",
    "where `t[i]` are forecasters that pre-process, and `tp[i]` are forecasters that postprocess\n",
    "\n",
    "##### `fit(y, X, fh)` does:\\\n",
    "`y1 = t1.fit_transform(y)`\\\n",
    "`y2 = t2.fit_transform(y1)`\\\n",
    "`y3 = t3.fit_transform(y2)`\\\n",
    "etc\\\n",
    "`y[n] = t3.fit_transform(y[n-1])`\n",
    "\n",
    "`f.fit(y[n])`\n",
    "\n",
    "`yp1 = tp1.fit_transform(yn)`\\\n",
    "`yp2 = tp2.fit_transform(yp1)`\\\n",
    "`yp3 = tp3.fit_transform(yp2)`\\\n",
    "etc\n",
    "\n",
    "##### `predict_quantiles(y, X, fh)` does:\n",
    "\n",
    "`y1 = t1.transform(y)`\\\n",
    "`y2 = t2.transform(y1)`\\\n",
    "etc\\\n",
    "`y[n] = t3.transform(y[n-1])`\n",
    "\n",
    "`y_pred = f.predict_quantiles(y[n])`\n",
    "\n",
    "`y_pred = t[n].inverse_transform(y_pred)`\\\n",
    "`y_pred = t[n-1].inverse_transform(y_pred)`\\\n",
    "etc\\\n",
    "`y_pred = t1.inverse_transform(y_pred)`\\\n",
    "`y_pred = tp1.transform(y_pred)`\\\n",
    "`y_pred = tp2.transform(y_pred)`\\\n",
    "etc\\\n",
    "`y_pred = tp[n].transform(y_pred)`\\\n",
    "\n",
    "**Note**: the remaining proba predictions are inferred from `predict_quantiles`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "id": "behavioral-anger",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sktime.datasets import load_macroeconomic\n",
    "from sktime.forecasting.arima import ARIMA\n",
    "from sktime.forecasting.compose import TransformedTargetForecaster\n",
    "from sktime.transformations.series.detrend import Deseasonalizer, Detrender"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "id": "5b4f08da",
   "metadata": {},
   "outputs": [],
   "source": [
    "data = load_macroeconomic()\n",
    "y = data[[\"unemp\"]]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "id": "underlying-australia",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">0</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">0.9</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>lower</th>\n",
       "      <th>upper</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2009Q4</th>\n",
       "      <td>8.949103</td>\n",
       "      <td>10.068284</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010Q1</th>\n",
       "      <td>8.639806</td>\n",
       "      <td>10.206350</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010Q2</th>\n",
       "      <td>8.438112</td>\n",
       "      <td>10.337207</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               0           \n",
       "             0.9           \n",
       "           lower      upper\n",
       "2009Q4  8.949103  10.068284\n",
       "2010Q1  8.639806  10.206350\n",
       "2010Q2  8.438112  10.337207"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "forecaster = TransformedTargetForecaster(\n",
    "    [\n",
    "        (\"deseasonalize\", Deseasonalizer(sp=12)),\n",
    "        (\"detrend\", Detrender()),\n",
    "        (\"forecast\", ARIMA()),\n",
    "    ]\n",
    ")\n",
    "\n",
    "forecaster.fit(y, fh=[1, 2, 3])\n",
    "forecaster.predict_interval()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "id": "8c47e57b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">0</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>0.05</th>\n",
       "      <th>0.95</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2009Q4</th>\n",
       "      <td>8.949103</td>\n",
       "      <td>10.068284</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010Q1</th>\n",
       "      <td>8.639806</td>\n",
       "      <td>10.206350</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010Q2</th>\n",
       "      <td>8.438112</td>\n",
       "      <td>10.337207</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               0           \n",
       "            0.05       0.95\n",
       "2009Q4  8.949103  10.068284\n",
       "2010Q1  8.639806  10.206350\n",
       "2010Q2  8.438112  10.337207"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "forecaster.predict_quantiles()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "15246bc7",
   "metadata": {},
   "source": [
    "quick creation also possible via the `*` dunder method, same pipeline:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "id": "07deb7ec",
   "metadata": {},
   "outputs": [],
   "source": [
    "forecaster = Deseasonalizer(sp=12) * Detrender() * ARIMA()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "id": "4c9e9228",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">0</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">0.9</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>lower</th>\n",
       "      <th>upper</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2009Q4</th>\n",
       "      <td>8.949103</td>\n",
       "      <td>10.068284</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010Q1</th>\n",
       "      <td>8.639806</td>\n",
       "      <td>10.206350</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010Q2</th>\n",
       "      <td>8.438112</td>\n",
       "      <td>10.337207</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               0           \n",
       "             0.9           \n",
       "           lower      upper\n",
       "2009Q4  8.949103  10.068284\n",
       "2010Q1  8.639806  10.206350\n",
       "2010Q2  8.438112  10.337207"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "forecaster.fit(y, fh=[1, 2, 3])\n",
    "forecaster.predict_interval()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "yellow-guarantee",
   "metadata": {},
   "source": [
    "---\n",
    "## Building your own probabilistic forecaster\n",
    "\n",
    "Getting started:\n",
    "\n",
    "* follow the [\"implementing estimator\" developer guide](https://www.sktime.net/en/stable/developer_guide/add_estimators.html)\n",
    "* use the advanced [forecasting extension template](https://github.com/sktime/sktime/blob/main/extension_templates/forecasting.py)\n",
    "\n",
    "Extension template = python \"fill-in\" template with to-do blocks that allow you to implement your own, sktime-compatible forecasting algorithm.\n",
    "\n",
    "Check estimators using `check_estimator`\n",
    "\n",
    "For probabilistic forecasting:\n",
    "\n",
    "* implement at least one of `predict_quantiles`, `predict_interval`, `predict_var`, `predict_proba`\n",
    "* optimally, implement all, unless identical with defaulting behaviour as below\n",
    "* if only one is implemented, others use following defaults (in this sequence, dependent availability):\n",
    "    * `predict_interval` uses quantiles from `predict_quantiles` and vice versa\n",
    "    * `predict_var` uses variance from `predict_proba`, or variance of normal with IQR as obtained from `predict_quantiles`\n",
    "    * `predict_interval` or `predict_quantiles` uses quantiles from `predict_proba` distribution\n",
    "    * `predict_proba` returns normal with mean `predict` and variance `predict_var`\n",
    "* so if predictive residuals not normal, implement `predict_proba` or `predict_quantiles`\n",
    "* if interfacing, implement the ones where least \"conversion\" is necessary\n",
    "* ensure to set the `capability:pred_int` tag to `True`\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "id": "59af90ce",
   "metadata": {},
   "outputs": [],
   "source": [
    "# estimator checking on the fly using check_estimator\n",
    "\n",
    "# suppose NaiveForecaster is your new estimator\n",
    "from sktime.forecasting.naive import NaiveForecaster\n",
    "\n",
    "# check the estimator like this\n",
    "\n",
    "# uncomment this block to run\n",
    "\n",
    "# from sktime.utils.estimator_checks import check_estimator\n",
    "#\n",
    "# check_estimator(NaiveForecaster)\n",
    "\n",
    "# this prints any failed tests, and returns dictionary with\n",
    "#   keys of test runs and results from the test run\n",
    "# run individual tests using the tests_to_run arg or the fixtures_to_run_arg\n",
    "#   these need to be identical to test or test/fixture names, see docstring"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "id": "12cdfc8e",
   "metadata": {},
   "outputs": [],
   "source": [
    "# to raise errors for use in traceback debugging:\n",
    "\n",
    "# uncomment next line to run\n",
    "# check_estimator(NaiveForecaster, raise_exceptions=True)\n",
    "\n",
    "# this does not raise an error since NaiveForecaster is fine, but would if it weren't"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "sunrise-eleven",
   "metadata": {},
   "source": [
    "---\n",
    "## Summary"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "imperial-narrow",
   "metadata": {},
   "source": [
    "* unified API for probabilistic forecasting and probabilistic metrics\n",
    "* integrating other packages (e.g. scikit-learn, statsmodels, pmdarima, prophet)\n",
    "* interface for composite model building is same, proba or not (pipelining, ensembling, tuning, reduction)\n",
    "* easily extensible with custom estimators\n",
    "\n",
    "### Useful resources\n",
    "* For more details, take a look at [our paper on forecasting with sktime](https://arxiv.org/abs/2005.08067) in which we discuss the forecasting API in more detail and use it to replicate and extend the M4 study.\n",
    "* For a good introduction to forecasting, see [Hyndman, Rob J., and George Athanasopoulos. Forecasting: principles and practice. OTexts, 2018](https://otexts.com/fpp2/).\n",
    "* For comparative benchmarking studies/forecasting competitions, see the [M4 competition](https://www.sciencedirect.com/science/article/pii/S0169207019301128) and the [M5 competition](https://www.kaggle.com/c/m5-forecasting-accuracy/overview).\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ae7447f2",
   "metadata": {},
   "source": [
    "### Credits\n",
    "\n",
    "notebook creation: fkiraly\n",
    "\n",
    "probabilistic forecasting framework: fkiraly, kejsitake\\\n",
    "probabilistic metrics, tuning: eenticott-shell, fkiraly\\\n",
    "probabilistic estimators: aiwalter, fkiraly, ilyasmoutawwakil, k1m190r, kejsitake"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
